홈>
Android 응용 프로그램에서 사용되는 SQLite DB에 대한 올바른 쿼리를 찾으려고합니다. 제목, 텍스트, isFavorite, isTrash, creationEpoch, modifiedEpoch와 같은 필드가있는 Notes가 포함 된 DB가 있습니다. 내가하고 싶은 일은 예를 들어 modifiedEpoch ASC/DESC로 DB 쿼리를 정렬하지만 즐겨 찾는 모든 행을 맨 위에 배치하는 것입니다.
스택 오버플로에 대해 몇 가지 유사한 질문을 살펴 보았지만 작동하지 않습니다.
이것은 내가 지금까지 시도한 것의 예입니다 :
SELECT *
FROM note
WHERE trash = 0
ORDER BY CASE modified_epoch WHEN favorite = 1 THEN 0 ELSE 1 END DESC,
favorite DESC
즐겨 찾기를 즐겨 찾기에 배치하지만 modifiedEpoch로 정렬하지 않았으며 즐겨 찾기가 아닌 항목은 ASC 순서로 정렬 된 것 같습니다.
- 답변 # 1
- 답변 # 2
시도
SELECT * FROM note WHERE trash = 0 ORDER BY CASE WHEN favorite = 1 THEN 0 ELSE 1 END, modified_epoch DESC
favorite = 1은 modified_epoch가 먼저 정렬하고 나머지는 모두 좋아하는 = 0, 2가 ... modified_epoch에 따라 정렬됩니다
관련 자료
- sql - mysql 8 피벗 쿼리는 null이 아닌 값을 반환해야합니다
- node.js - Mongodb를 사용하여 배열의 특정 키/값 쌍으로 객체를 쿼리하는 방법은 무엇입니까?
- laravel - SQL 존재 쿼리가 관련 결과를 반환하지 않습니다
- Oracle SQL에서 쿼리를 수행하여 시간 간격을 가져오고 특정 필드별로 그룹화하는 방법
- mysql - 직원이 5 명 이상인 부서의 직원 세부 정보를 반환하는 SQL 쿼리
- sql - OFFSET을 추가 할 때 MySQL 쿼리가 행을 반환하지 않습니다
- Snowflake SQL 쿼리의 마지막 문만 R로 반환
- laravel 쿼리는 관계 행의 전체 개수를 반환하지 않습니다
- coldfusion - 필터링 된 항목 대신 전체 반환을 반환하는 쿼리 쿼리
- c - 이 바이너리 트리의 특정 노드에 대한 포인터를 어떻게 반환 할 수 있습니까?
- 다른 행 데이터를 한 줄로 반환하는 SQL 쿼리
- keycloak - keylcoak 사용자 엔드 포인트에서 사용자의 특정 필드 만 반환
- java - 문자열 인수를 가져 와서 특정 단어를 검색 한 다음 해당 단어가 포함 된 경우 true를 반환하려면 어떻게해야합니까?
- 모든 그래프 노드 (연결된 구성 요소)를 반환하는 PostgreSQL SQL 쿼리, 쿼리 할 노드 제공
- javascript - 동일한 이름으로 여러 쿼리 매개 변수를 표현하면 배열이 반환되지 않습니다
- sql - A의 각 항목에 대해 B와 C에서 val을 반환하는 쿼리를 만듭니다
- sql - 이름에 대한 쿼리 ID (찾을 수없는 경우 이름 삽입 및 ID 반환)
- php - 데이터베이스를 쿼리하고 데이터를 반환하는 함수
- Angular는 모든 경로에 대한 특정 쿼리 매개 변수를 유지합니다
- mysql - 단일 열을 쿼리하고 쉼표로 구분 된 반환 Laravel PHP
관련 질문
- 상위 4 개의 집계 레code가 단일 행이고 나머지 레code가 하나의 행으로 집계되는 SQLite 반환 데이터 세트
- SQLite에서 SQL Server의 STUFF 기능의 대안
- sql : 이 결합 쿼리의 패턴을 어떻게 구성 할 수 있습니까?
- 외장 드라이브에서 매우 느린 간단한 SQLite 쿼리
- android : 전화에서 Room 마스터 테이블 (스키마)을 완전히 제거하는 방법
- sql : 인접 목록 정규화
- python : pandas 그룹을 sql (ite)로 번역 : 그룹 제한
- SQL 쿼리, 특정 조건이있는 두 개의 테이블
- java : Android의 sqlite 쿼리에서 sqrt 함수를 사용하는 방법
두 가지 정렬 기준을 원합니다 :
isFavorite를 기반으로하는 첫 번째 정렬
그런 다음 수정 된 Epoch에서
isFavorite가 0 또는 1 일 수 있다고 가정하면 다음과 같이 작동합니다.
이것은 모든 호의를 최우선으로하여 가장 최근 호의를 우선으로하고 비호의를 호소하며 가장 최근 호의로 시작합니다 (modifiedEpoch의 DESC로 인해).