sourcecode

쿼리에서 계산된 열을 기준으로 그룹화하는 방법은 무엇입니까?

codebag 2023. 9. 15. 20:59
반응형

쿼리에서 계산된 열을 기준으로 그룹화하는 방법은 무엇입니까?

사용하려고 합니다.Case when조건에 따라 데이터에 레이블을 지정하는 문장.그럼 카테고리를 분류해서 셀 수 있게 해야겠네요.임시 테이블을 사용하여 이 작업을 수행할 수 없습니다.

SELECT player_name,
       weight,
       CASE WHEN weight > 250 THEN 'over 250'
            WHEN weight > 200 AND weight <= 250 THEN '201-250'
            WHEN weight > 175 AND weight <= 200 THEN '176-200'
            ELSE '175 or under' END AS weight_group
  FROM benn.college_football_players

출력:

Over 250    10
201-250     50
176-200     3

기타.

동일한 것을 사용하시면 됩니다.case의 표현group by조항:

SELECT CASE WHEN weight > 250 THEN 'over 250'
            WHEN weight > 200 AND weight <= 250 THEN '201-250'
            WHEN weight > 175 AND weight <= 200 THEN '176-200'
            ELSE '175 or under' END AS weight_group,
       COUNT(*)
FROM benn.college_football_players
GROUP BY CASE WHEN weight > 250 THEN 'over 250'
            WHEN weight > 200 AND weight <= 250 THEN '201-250'
            WHEN weight > 175 AND weight <= 200 THEN '176-200'
            ELSE '175 or under' END

다음 그룹에 대해 도출된 표(하위 선택)를 사용할 수 있습니다.

  select  t.weight_group, count(*) from (
    SELECT player_name,
           weight,
           CASE WHEN weight > 250 THEN 'over 250'
                WHEN weight > 200 AND weight <= 250 THEN '201-250'
                WHEN weight > 175 AND weight <= 200 THEN '176-200'
                ELSE '175 or under' END AS weight_group
      FROM benn.college_football_players

  ) t 
  group by weight_group 

언급URL : https://stackoverflow.com/questions/51538648/how-to-group-by-a-calculated-column-in-a-query

반응형