조건에 따라 그룹화 된 열을 표시하는 mysql

sizzyfrisky

나는 사용자가 '총 참여'를 출력해야하는 쿼리를 작업 중입니다. 1 -eng 열은 참여가 1 인 사용자를 표시하고, 두 번째 열은 2 참여를 수행 한 사용자를 표시하는 2-eng과 같은 열에 있습니다. 마찬가지로 3eng 등. 디스플레이는 다음과 같아야합니다. userID가있는 참여 테이블이 있습니다. 그래서 저는 이와 같은 고유 한 사용자를 얻습니다.

select count(distinct userID) from engagements 

그리고 나는 약혼을 얻습니다.

select count(*) from engagements 

여기에서 참여는 콘텐츠를 좋아요, 응답 또는 공유 한 사용자를 의미합니다.

도와주세요. 감사! CASE 및 IF를 사용했지만 아래 형식으로 표시 할 수 없습니다.

1eng             2eng          3eng 

100              200           100
안드리 남

결과를 행으로 반환하고 나중에 애플리케이션에서 피벗하는 것을 고려하십시오.

원하는 결과를 행으로 반환하려면 다음 쿼리를 사용할 수 있습니다.

SELECT
  engagementCount,
  COUNT(*) AS userCount
FROM (
  SELECT
    userID,
    COUNT(*) AS engagementCount
  FROM engagements
  GROUP BY userID
) AS s
GROUP BY engagementCount
;

기본적으로, 첫 번째 그룹 engagements에 의해 행 userID과 당 행 수를 얻을 userID. 그 후에 카운트를 그룹화 기준으로 사용하고 해당 카운트로 발견 된 사용자 수를 계산합니다.

SQL에서 열 뷰를 반환해야하는 경우 최종 결과 집합의 열 수가 무한하기 때문에 동적 SQL에 의존해야합니다. 내부 SELECT의 결과를 임시로 저장하고이를 스캔하여 모든 engagementCount값에 대한 개수 식 목록을 작성 하고 궁극적으로 이러한 종류의 쿼리를 구성해야 할 수 있습니다.

SELECT
  COUNT(engagementCount = 1 OR NULL) AS `1eng`,
  COUNT(engagementCount = 2 OR NULL) AS `2eng`,
  COUNT(engagementCount = 3 OR NULL) AS `3eng`,
  ...
FROM temporary_storage
;

또는 대신 . (나에게 후자는 의도를 더 명확하게 표현하기 때문에 내가 먼저 제안한 이유이지만,이 기술 을 선호하는 경우 둘 사이에 눈에 띄는 성능 차이가 없어야합니다. 트릭은 여기 에 설명되어 있습니다 . )SUM(engagementCount = value)COUNT(engagementCount = value OR NULL)SUMOR NULL

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

그룹화 된 A 열에 따라 B 열의 값을 얻는 방법

분류에서Dev

열의 값에 따라 다른 함수를 사용하여 조건부로 그룹화 된 데이터 프레임을 집계합니다.

분류에서Dev

(그룹화 된) 조건에 따라 DataFrame에 플래그 추가

분류에서Dev

Postgres / SQL 하위 쿼리-조건에 따라 그룹 화당 여러 열 반환

분류에서Dev

Pandas를 사용하여 조건에 따라 열의 문자열 값을 그룹화하고 선택합니다.

분류에서Dev

t-sql의 조건에 따라 한 열의 값을 그룹화하는 방법은 무엇입니까?

분류에서Dev

SQL에서 case 문을 사용하여 일부 조건에 따라 열 그룹화

분류에서Dev

MySQL, 그룹화 된 항목의 조건부 개수에 따른 값 선택

분류에서Dev

일부 조건에 따라 결과를 연결된 결과로 그룹화하는 방법

분류에서Dev

다양한 조건에 따라 그룹화하는 방법

분류에서Dev

우선 순위에 따라 그룹화 된 배열 정렬

분류에서Dev

조건에 따라 아이템 그룹을 얻는 방법

분류에서Dev

dplyr을 사용하여 조건에 따라 그룹 지우기

분류에서Dev

파이썬 : 조건에 따라 시계열 데이터 그룹화 또는 분할

분류에서Dev

그룹화 된 열의 이상 값을 정의 된 zscore에 따라 그룹의 평균으로 바꿉니다.

분류에서Dev

조건에 따라 팬더 시리즈 그룹화

분류에서Dev

조건에 따라 기간을 계산하고 집계는하지 않고 그룹화합니다.

분류에서Dev

특정 조건에 따라 분산 지점을 그룹화하고 그로부터 범례를 만듭니다.

분류에서Dev

하나의 필드에 따라 그룹화 된 결과

분류에서Dev

변수를 확인하고 소속 된 그룹에 따라 그룹화

분류에서Dev

R-열 조건 변경에 따라 변수를 그룹화하여 변수 증가

분류에서Dev

mysql 상황에 따라 그룹으로 반환 된 총 행을 쿼리하는 방법

분류에서Dev

최적화 필요에 따라 그룹화 된 스칼라 하위 쿼리

분류에서Dev

동일한 유형의 키에 따라 배열을 그룹화하는 방법

분류에서Dev

동일한 유형의 키에 따라 배열을 그룹화하는 방법

분류에서Dev

ggplot barchart에서 x 축을 따라 그룹화하는 방법

분류에서Dev

Pygsheets : 조건에 따라 특정 열의 셀을 강조 표시하는 방법

분류에서Dev

한 열로 그룹화하고 다른 열을 조건부로 계산-MySQL

분류에서Dev

Python : 규칙에 따라 열 값을 저장하여 데이터 그룹화

Related 관련 기사

  1. 1

    그룹화 된 A 열에 따라 B 열의 값을 얻는 방법

  2. 2

    열의 값에 따라 다른 함수를 사용하여 조건부로 그룹화 된 데이터 프레임을 집계합니다.

  3. 3

    (그룹화 된) 조건에 따라 DataFrame에 플래그 추가

  4. 4

    Postgres / SQL 하위 쿼리-조건에 따라 그룹 화당 여러 열 반환

  5. 5

    Pandas를 사용하여 조건에 따라 열의 문자열 값을 그룹화하고 선택합니다.

  6. 6

    t-sql의 조건에 따라 한 열의 값을 그룹화하는 방법은 무엇입니까?

  7. 7

    SQL에서 case 문을 사용하여 일부 조건에 따라 열 그룹화

  8. 8

    MySQL, 그룹화 된 항목의 조건부 개수에 따른 값 선택

  9. 9

    일부 조건에 따라 결과를 연결된 결과로 그룹화하는 방법

  10. 10

    다양한 조건에 따라 그룹화하는 방법

  11. 11

    우선 순위에 따라 그룹화 된 배열 정렬

  12. 12

    조건에 따라 아이템 그룹을 얻는 방법

  13. 13

    dplyr을 사용하여 조건에 따라 그룹 지우기

  14. 14

    파이썬 : 조건에 따라 시계열 데이터 그룹화 또는 분할

  15. 15

    그룹화 된 열의 이상 값을 정의 된 zscore에 따라 그룹의 평균으로 바꿉니다.

  16. 16

    조건에 따라 팬더 시리즈 그룹화

  17. 17

    조건에 따라 기간을 계산하고 집계는하지 않고 그룹화합니다.

  18. 18

    특정 조건에 따라 분산 지점을 그룹화하고 그로부터 범례를 만듭니다.

  19. 19

    하나의 필드에 따라 그룹화 된 결과

  20. 20

    변수를 확인하고 소속 된 그룹에 따라 그룹화

  21. 21

    R-열 조건 변경에 따라 변수를 그룹화하여 변수 증가

  22. 22

    mysql 상황에 따라 그룹으로 반환 된 총 행을 쿼리하는 방법

  23. 23

    최적화 필요에 따라 그룹화 된 스칼라 하위 쿼리

  24. 24

    동일한 유형의 키에 따라 배열을 그룹화하는 방법

  25. 25

    동일한 유형의 키에 따라 배열을 그룹화하는 방법

  26. 26

    ggplot barchart에서 x 축을 따라 그룹화하는 방법

  27. 27

    Pygsheets : 조건에 따라 특정 열의 셀을 강조 표시하는 방법

  28. 28

    한 열로 그룹화하고 다른 열을 조건부로 계산-MySQL

  29. 29

    Python : 규칙에 따라 열 값을 저장하여 데이터 그룹화

뜨겁다태그

보관