SQL 쿼리-그룹화 기준으로 2 개 이상의 행을 가져 오는 방법

타오

두 개의 테이블이 있습니다. 하나는 cid, 이름, 상태 열이있는 고객 테이블입니다. 또 다른 테이블은 pid, cid, booktitle, price 열이있는 Purchase 테이블입니다.

고객:

CID    NAME    STATE
1      Peng    NY
2      Li      IL
3      Chan    NY

매수:

PID CID BOOKTITLE PRICE
10  1   ABC       20 
11  3   XYZ       15 
12  1   MNOP      12

산출:

STATE CID  NAME 
NY    1    Peng
IL    null null

각 주에서 가장 많이 구매 한 (최대 주문 수) 고객의 ID와 이름을 출력해야합니다. 각 고객에 대한 cid, 이름, 상태 및 구매 횟수를 출력 할 수 있지만 기능별 그룹을 사용하는 동안 더 많은 열을 사용할 수 없기 때문에 각 상태에 대해 얻을 수 없습니다.

select c.cid, c.name, c.state, d.orders 
from customer c
left join (select cid, count(pid) as orders 
           from purchase
           group by cid) d
on c.cid = d.cid;

누구든지 어떻게 진행해야하는지 제안 할 수 있습니까?

그레고리
with cnt as (
select c.state, c.name, c.cid, count(p.cid) orders from customer c  
left outer join purchase p on p.cid = c.cid
group by c.state, c.name, c.cid )
select state, 
case when orders=0 then null else cid end cid, 
case when orders=0 then null else name end name 
from (select state, name, cid, orders, 
      row_number() over (partition by state order by orders desc) rn
      from cnt)
order by name, state;

결과 :

STATE             CID NAME
---------- ---------- ----------
NY                  1 Peng
IL

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

날짜 시간별로 그룹화하고 2 개의 다른 필드에 대한 총 값을 가져 오는 SQL 쿼리

분류에서Dev

조인을 사용하여 2 개의 행 데이터를 단일 행으로 가져 오는 SQL 쿼리

분류에서Dev

연도를 기준으로 행을 그룹화하는 SQL 쿼리를 작성하는 방법

분류에서Dev

4 개 열을 기준으로 My SQL 테이블의 데이터를 그룹화하는 방법

분류에서Dev

내부 조인 쿼리를 사용하여 SQL Server의 Datetime 변형을 기반으로 상위 1 개 행을 가져 오는 방법은 무엇입니까?

분류에서Dev

2 개의 결과를 단일 행으로 가져 오는 SQL 쿼리

분류에서Dev

SQL 쿼리 도움말 : 열 조합을 기준으로 개수 가져 오기

분류에서Dev

그룹 기준으로 상위 x 개 행을 결정하는 방법-SQL Server 2017

분류에서Dev

Bigquery (표준 SQL)로 그룹화 된 각 결과 그룹의 상위 n 개 레코드 가져 오기

분류에서Dev

그룹화 키에서 최소 행만 가져 오는 것을 목표로하는 두 개의 쿼리 최적화

분류에서Dev

그룹 이름으로 고객 목록을 가져 오는 SQL 쿼리

분류에서Dev

2 개의 열로 그룹화하고 세 번째 열의 첫 번째 발생을 취하는 SQL 쿼리

분류에서Dev

열의 값을 기반으로 n 개의 연속 행을 그룹화하는 kusto 쿼리를 작성하는 방법

분류에서Dev

R에서 상위 2 개로 그룹화해야하는 4 개의 열로 데이터 프레임을 그리는 방법은 무엇입니까?

분류에서Dev

2 개 필드로 완료되지 않은 통화 그룹 수를 가져 오는 쿼리 만들기

분류에서Dev

함께 그룹화 된 행을 기반으로 SQL 테이블에 다른 열을 추가하는 방법

분류에서Dev

오류를 가져 오는 하위 쿼리가 2 개 이상의 행을 반환합니다.

분류에서Dev

SQL Server : 한 열을 기준으로 그룹화하고 다른 열을 기준으로 열 가져 오기

분류에서Dev

1 행 SQL 쿼리로 그룹없이 최대 값 가져 오기

분류에서Dev

결합되는 2 개의 하위 쿼리에서 열을 가져오고 그룹화가 작동하지 않음

분류에서Dev

행 그룹당 최신 2 개의 값 가져 오기 SQL Server 2000

분류에서Dev

열을 기반으로 행을 가져 오는 SQL 쿼리

분류에서Dev

선행 0없이 월을 가져 오도록 SQL 쿼리를 형식화하는 방법

분류에서Dev

테이블에서 두 번 이상 발생하는 모든 행 항목에 대해 2 개의 최근 행 간의 차이를 가져 오는 SQL 쿼리

분류에서Dev

데이터가 null 인 쿼리로 SQL 그룹에서 값을 얻는 방법

분류에서Dev

SQL Server의 INNER JOIN 쿼리에서 DISTINCT 행을 가져 오는 방법

분류에서Dev

SQL Server 쿼리에서 월말의 행을 가져 오는 방법

분류에서Dev

EclipseLink / JPA : 수행 된 SQL 쿼리 수를 프로그래밍 방식으로 가져 오는 방법

분류에서Dev

Azure Analytics Kusto 쿼리 : 2 가지 조건으로 그룹화하는 방법?

Related 관련 기사

  1. 1

    날짜 시간별로 그룹화하고 2 개의 다른 필드에 대한 총 값을 가져 오는 SQL 쿼리

  2. 2

    조인을 사용하여 2 개의 행 데이터를 단일 행으로 가져 오는 SQL 쿼리

  3. 3

    연도를 기준으로 행을 그룹화하는 SQL 쿼리를 작성하는 방법

  4. 4

    4 개 열을 기준으로 My SQL 테이블의 데이터를 그룹화하는 방법

  5. 5

    내부 조인 쿼리를 사용하여 SQL Server의 Datetime 변형을 기반으로 상위 1 개 행을 가져 오는 방법은 무엇입니까?

  6. 6

    2 개의 결과를 단일 행으로 가져 오는 SQL 쿼리

  7. 7

    SQL 쿼리 도움말 : 열 조합을 기준으로 개수 가져 오기

  8. 8

    그룹 기준으로 상위 x 개 행을 결정하는 방법-SQL Server 2017

  9. 9

    Bigquery (표준 SQL)로 그룹화 된 각 결과 그룹의 상위 n 개 레코드 가져 오기

  10. 10

    그룹화 키에서 최소 행만 가져 오는 것을 목표로하는 두 개의 쿼리 최적화

  11. 11

    그룹 이름으로 고객 목록을 가져 오는 SQL 쿼리

  12. 12

    2 개의 열로 그룹화하고 세 번째 열의 첫 번째 발생을 취하는 SQL 쿼리

  13. 13

    열의 값을 기반으로 n 개의 연속 행을 그룹화하는 kusto 쿼리를 작성하는 방법

  14. 14

    R에서 상위 2 개로 그룹화해야하는 4 개의 열로 데이터 프레임을 그리는 방법은 무엇입니까?

  15. 15

    2 개 필드로 완료되지 않은 통화 그룹 수를 가져 오는 쿼리 만들기

  16. 16

    함께 그룹화 된 행을 기반으로 SQL 테이블에 다른 열을 추가하는 방법

  17. 17

    오류를 가져 오는 하위 쿼리가 2 개 이상의 행을 반환합니다.

  18. 18

    SQL Server : 한 열을 기준으로 그룹화하고 다른 열을 기준으로 열 가져 오기

  19. 19

    1 행 SQL 쿼리로 그룹없이 최대 값 가져 오기

  20. 20

    결합되는 2 개의 하위 쿼리에서 열을 가져오고 그룹화가 작동하지 않음

  21. 21

    행 그룹당 최신 2 개의 값 가져 오기 SQL Server 2000

  22. 22

    열을 기반으로 행을 가져 오는 SQL 쿼리

  23. 23

    선행 0없이 월을 가져 오도록 SQL 쿼리를 형식화하는 방법

  24. 24

    테이블에서 두 번 이상 발생하는 모든 행 항목에 대해 2 개의 최근 행 간의 차이를 가져 오는 SQL 쿼리

  25. 25

    데이터가 null 인 쿼리로 SQL 그룹에서 값을 얻는 방법

  26. 26

    SQL Server의 INNER JOIN 쿼리에서 DISTINCT 행을 가져 오는 방법

  27. 27

    SQL Server 쿼리에서 월말의 행을 가져 오는 방법

  28. 28

    EclipseLink / JPA : 수행 된 SQL 쿼리 수를 프로그래밍 방식으로 가져 오는 방법

  29. 29

    Azure Analytics Kusto 쿼리 : 2 가지 조건으로 그룹화하는 방법?

뜨겁다태그

보관