정렬 된 레코드 중에서 고유 한 상위 1 개를 찾는 sqlite3 쿼리

소닉 소나

요구 사항은 날짜별로 구별되고 최신 인 기록을 가져 오는 것입니다. 바구니 ID는 같지만 다른 정보는 고유 한 레코드가 있습니다. 아래의 접근 방식에 따라 바구니 ID별로 그룹화 된 설명 날짜로 정렬 된 레코드를 얻을 수 있지만 내 요구 사항을 충족시킬 정렬 된 레코드 중 TOP 1을 얻는 방법을 모르겠습니다. 이것이 어떻게 달성 될 수 있는지 제안하십시오.

ID  Flower        Country           Date
==================================================

A12   Rose            China          2016:08:18 16:02:19
A65   Turnip          China          2016:08:25 18:25:54
A11   unknown         China          2016:08:18 16:45:27
A43   angelica        Mexico         2016:08:25 18:25:54
A43   Rose            Mexico         2016:08:25 15:46:35
A43   angelica         Mexico        2016:08:19 12:33:43
A43   Rose            Mexico         2016:08:18 16:23:01
A44   solomon         Denmark        2016:08:22 18:49:10
A44   Turnip          Denmark        2016:08:18 09:44:06
A49   duetzia         Mexico         2016:08:23 21:25:38
A49   Rose            Mexico         2016:08:23 18:54:55
A49   angelica        Mexico         2016:08:19 12:23:58
A49   Rose            Mexico         2016:08:18 16:23:01
B15   solomon         Denmark        2016:08:22 18:58:35
B43   solomon         Denmark        2016:08:24 20:00:14
B43   Turnip          Denmark        2016:08:22 13:57:08
B43   impCalamus      Denmark        2016:08:18 17:28:53
B43   impCalamus      Denmark        2016:08:18 15:40:45
B45   solomon         Denmark        2016:08:24 20:00:14


Expected output
===============
ID  Flower        Country           Date
=============================================                      
A11   unknown         China          2016:08:18 16:45:27
A12   Rose            China          2016:08:18 16:02:19
A43   angelica        Mexico         2016:08:25 18:25:54
A44   solomon         Denmark        2016:08:22 18:49:10
A49   duetzia         Mexico         2016:08:23 21:25:38
A65   Turnip          China          2016:08:25 18:25:54
B15   solomon         Denmark        2016:08:22 18:58:35
B43   solomon         Denmark        2016:08:24 20:00:14
B45   solomon         Denmark        2016:08:24 20:00:14


Steps to create the Table.
---------------------------
CREATE TABLE FLOWER( ID varchar(12) , FLOWER varchar(12), COUNTRY varchar(12), DATE TIME);

INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A12', 'Rose', 'China', '2016:08:18 16:02:19' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A65', 'Turnip'       , 'China'         , '2016:08:25 18:25:54' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A11', 'unknown'      , 'China'         , '2016:08:18 16:45:27' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A43', 'angelica'     , 'Mexico'        , '2016:08:25 18:25:54' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A43', 'Rose'         , 'Mexico'        , '2016:08:25 15:46:35' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A43', 'angelica'     , 'Mexico'        , '2016:08:19 12:33:43' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A43', 'Rose'         , 'Mexico'        , '2016:08:18 16:23:01' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A44', 'solomon'      , 'Denmark'       , '2016:08:22 18:49:10' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A44', 'Turnip'       , 'Denmark'       , '2016:08:18 09:44:06' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A49', 'duetzia'      , 'Mexico'        , '2016:08:23 21:25:38' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A49', 'Rose'         , 'Mexico'        , '2016:08:23 18:54:55' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A49', 'angelica'     , 'Mexico'        , '2016:08:19 12:23:58' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('A49', 'Rose'         , 'Mexico'        , '2016:08:18 16:23:01' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('B15', 'solomon'      , 'Denmark'       , '2016:08:22 18:58:35' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('B43', 'solomon'      , 'Denmark'       , '2016:08:24 20:00:14' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('B43', 'Turnip'       , 'Denmark'       , '2016:08:22 13:57:08' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('B43', 'impCalamus'   , 'Denmark'       , '2016:08:18 17:28:53' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('B43', 'impCalamus'   , 'Denmark'       , '2016:08:18 15:40:45' );
INSERT INTO FLOWER (ID,FLOWER,COUNTRY,DATE) VALUES ('B45', 'solomon'      , 'Denmark'       , '2016:08:24 20:00:14' );


My Approach
===========

select * from flower group by id, date order by id ,date desc;

 ID          FLOWER      COUNTRY     DATE
----------  ----------  ----------  -------------------
A11         unknown     China       2016:08:18 16:45:27 <---
A12         Rose        China       2016:08:18 16:02:19 <---
A43         angelica    Mexico      2016:08:25 18:25:54 <---
A43         Rose        Mexico      2016:08:25 15:46:35
A43         angelica    Mexico      2016:08:19 12:33:43
A43         Rose        Mexico      2016:08:18 16:23:01
A44         solomon     Denmark     2016:08:22 18:49:10 <---
A44         Turnip      Denmark     2016:08:18 09:44:06
A49         duetzia     Mexico      2016:08:23 21:25:38 <---
A49         Rose        Mexico      2016:08:23 18:54:55
A49         angelica    Mexico      2016:08:19 12:23:58
A49         Rose        Mexico      2016:08:18 16:23:01
A65         Turnip      China       2016:08:25 18:25:54 <---
B15         solomon     Denmark     2016:08:22 18:58:35 <---
B43         solomon     Denmark     2016:08:24 20:00:14 <---
B43         Turnip      Denmark     2016:08:22 13:57:08
B43         impCalamus  Denmark     2016:08:18 17:28:53
B43         impCalamus  Denmark     2016:08:18 15:40:45
B45         solomon     Denmark     2016:08:24 20:00:14 <---

화살표 <----로 표시된 항목은 내가 관심있는 항목입니다.

고든 리노 프

where절 및 상관 하위 쿼리를 사용하여이를 수행 할 수 있습니다 .

select t.*
from t
where t.time = (select max(t2.time)
                from t t2
                where t2.id = t.id
               );

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

desc로 정렬 된 상위 n 개 행에서 레코드를 찾는 방법

분류에서Dev

개수> = 2이고 열에서 고유 한 경우 레코드를 찾기위한 Oracle 쿼리

분류에서Dev

상위에 있어야하는 n 개의 미리 정의 된 항목을 제외하고 비정형 순서로 레코드를 검색하는 쿼리

분류에서Dev

고유 한 레코드를 찾기위한 MySQL 쿼리

분류에서Dev

여러 열에서 공통된 레코드를 찾기위한 MySQL 쿼리

분류에서Dev

mysql에서 고유 한 레코드를 쿼리하는 방법

분류에서Dev

BigQuery : 상관 된 하위 쿼리에서 레코드 유형의 고유 한 값을 반환해야합니다.

분류에서Dev

상위 문자 집합에서 레코드를 찾기위한 SQL 쿼리

분류에서Dev

범주에서 상위 3 개를 찾기위한 SQL 쿼리

분류에서Dev

"High"열에서 상위 5 개 최대 레코드를 선택하고 동일한 쿼리 및 주식 이름으로 분할 된 동일한 테이블에서 "Low"열에서 5 분 레코드를 선택합니다.

분류에서Dev

쿼리에서 고유 한 레코드 찾기

분류에서Dev

중복 레코드를 찾기위한 자체 조인 쿼리

분류에서Dev

각 고유 한 열 ID의 레코드 3 개만 가져 오는 쿼리

분류에서Dev

날짜별로 고유 한 상위 1 개 레코드 선택

분류에서Dev

고유 ID를 가진 중복 레코드에서 상위 3 개 레코드 가져 오기

분류에서Dev

고유 한 레코드를 얻기위한 Mongo Db 쿼리

분류에서Dev

일련의 모든 레코드에 값이있는 레코드를 찾기위한 쿼리 빌드

분류에서Dev

sqlite3의 테이블에 고유 한 레코드 삽입

분류에서Dev

고유 레코드에 필요한 개수 쿼리 도움말

분류에서Dev

여러 개체 속성에 대한 다중 정렬을 위해 다음 코드에서 사양이 반전 된 이유는 무엇입니까?

분류에서Dev

중복 레코드를 가져오고 Gridview에서 한 행에 표시하기위한 SQL 쿼리

분류에서Dev

정렬 된 상위 n 개 거래에 대한 평균 찾기

분류에서Dev

MYSQL은 테이블이 아닌 두 개의 쿼리에서 일치하는 레코드 만 선택한 다음 B 쿼리로 결과를 정렬합니다.

분류에서Dev

이름이 같고 최근에 생성 된 레코드를 검색하기위한 SQL 쿼리

분류에서Dev

특정 날짜 범위 내에서 특정 날짜에 존재하는 모든 레코드를 찾기위한 SQL 쿼리

분류에서Dev

조인 된 테이블의 각 레코드에 대한 날짜 기반 상위 1 개 레코드

분류에서Dev

DynamoDB | 파티션 키를 지정하지 않고 정렬 된 순서로 모든 레코드를 쿼리하는 방법

분류에서Dev

각 ID에서 일부 최신 레코드를 찾기위한 SQL Server 쿼리

분류에서Dev

각 ID에서 일부 최신 레코드를 찾기위한 SQL Server 쿼리

Related 관련 기사

  1. 1

    desc로 정렬 된 상위 n 개 행에서 레코드를 찾는 방법

  2. 2

    개수> = 2이고 열에서 고유 한 경우 레코드를 찾기위한 Oracle 쿼리

  3. 3

    상위에 있어야하는 n 개의 미리 정의 된 항목을 제외하고 비정형 순서로 레코드를 검색하는 쿼리

  4. 4

    고유 한 레코드를 찾기위한 MySQL 쿼리

  5. 5

    여러 열에서 공통된 레코드를 찾기위한 MySQL 쿼리

  6. 6

    mysql에서 고유 한 레코드를 쿼리하는 방법

  7. 7

    BigQuery : 상관 된 하위 쿼리에서 레코드 유형의 고유 한 값을 반환해야합니다.

  8. 8

    상위 문자 집합에서 레코드를 찾기위한 SQL 쿼리

  9. 9

    범주에서 상위 3 개를 찾기위한 SQL 쿼리

  10. 10

    "High"열에서 상위 5 개 최대 레코드를 선택하고 동일한 쿼리 및 주식 이름으로 분할 된 동일한 테이블에서 "Low"열에서 5 분 레코드를 선택합니다.

  11. 11

    쿼리에서 고유 한 레코드 찾기

  12. 12

    중복 레코드를 찾기위한 자체 조인 쿼리

  13. 13

    각 고유 한 열 ID의 레코드 3 개만 가져 오는 쿼리

  14. 14

    날짜별로 고유 한 상위 1 개 레코드 선택

  15. 15

    고유 ID를 가진 중복 레코드에서 상위 3 개 레코드 가져 오기

  16. 16

    고유 한 레코드를 얻기위한 Mongo Db 쿼리

  17. 17

    일련의 모든 레코드에 값이있는 레코드를 찾기위한 쿼리 빌드

  18. 18

    sqlite3의 테이블에 고유 한 레코드 삽입

  19. 19

    고유 레코드에 필요한 개수 쿼리 도움말

  20. 20

    여러 개체 속성에 대한 다중 정렬을 위해 다음 코드에서 사양이 반전 된 이유는 무엇입니까?

  21. 21

    중복 레코드를 가져오고 Gridview에서 한 행에 표시하기위한 SQL 쿼리

  22. 22

    정렬 된 상위 n 개 거래에 대한 평균 찾기

  23. 23

    MYSQL은 테이블이 아닌 두 개의 쿼리에서 일치하는 레코드 만 선택한 다음 B 쿼리로 결과를 정렬합니다.

  24. 24

    이름이 같고 최근에 생성 된 레코드를 검색하기위한 SQL 쿼리

  25. 25

    특정 날짜 범위 내에서 특정 날짜에 존재하는 모든 레코드를 찾기위한 SQL 쿼리

  26. 26

    조인 된 테이블의 각 레코드에 대한 날짜 기반 상위 1 개 레코드

  27. 27

    DynamoDB | 파티션 키를 지정하지 않고 정렬 된 순서로 모든 레코드를 쿼리하는 방법

  28. 28

    각 ID에서 일부 최신 레코드를 찾기위한 SQL Server 쿼리

  29. 29

    각 ID에서 일부 최신 레코드를 찾기위한 SQL Server 쿼리

뜨겁다태그

보관