복붙노트

[SQL] 독특하고 합 SQL 쿼리

SQL

독특하고 합 SQL 쿼리

나는 다음과 같은 medleys 테이블이 그 콤바인 색상, 과일, 등급 :

[medleys]
medley_id   |   color   |   fruit   |   rating
==============================================
1               red         apple       25
2               blue        pear        5
3               green       apple       12
4               red         apple       10
5               purple      kiwi        5
6               purple      kiwi        50
7               blue        kiwi        3
8               blue        pear        9

나는 모든 고유 / 별개의 컬러 과일 쌍을 결합하고 각 쌍의 개별 평가 값의 합계 것이다 ANSI 호환 SQL 쿼리를 작성하려합니다. 당신이 테이블에 쿼리를 실행 따라서하면 다음과 같은 결과 집합을 생산하는 것 이상 :

[query]
color   |   fruit   |   sum
===========================
red         apple       35
blue        pear        14
blue        kiwi        3
green       apple       12
purple      kiwi        55

따라서, 쿼리가 테이블의 두 빨간색 사과 쌍이고, 그래서 적색 사과 쌍에 대한 하나 개의 결과를 생성보고하고 그 구성의 평가 (25 + 10 = 35) 등을 가산

나는 독특한 색상 / 과일 값에 대한 선택을해야하지만 확신하지 않도록 동일한 "레벨 / 범위"에서 등급을 집계하는 방법 :

SELECT
    distinct(color, fruit), sum(rating)
FROM
    medleys

주문은 중요하지 않습니다. 색상과 과일 VARCHAR (50)의과 평가가 INT입니다 있습니다. 사전에 감사합니다!

해결법

  1. ==============================

    1.

    SELECT color, fruit, sum(rating)
    FROM medleys
    GROUP BY color, fruit
    

    고유은 당신이 집계 할 때, 더 고유 요소, 아무것도를 선택하는 데 사용된다 당신이 GROUP BY와 집계 함수 (SUM)을 필요로합니다.

  2. ==============================

    2.당신은 전혀 별개 필요가 없습니다. 당신은 그룹에 의해 필요합니다 :

    당신은 전혀 별개 필요가 없습니다. 당신은 그룹에 의해 필요합니다 :

    select color, fruit, sum(rating)
    from medleys
    group by color, fruit
    

    나는이 실수가 발생보기 때문에 나는 대답하고있다. 일반적으로, 당신은 SQL에서 전혀 별개의 선택이 필요하지 않습니다. 당신은 항상 대신하여 그룹을 사용할 수 있습니다. 고유은에 의해 편리한 짧은 손으로 그룹 후 도입해야한다.

  3. ==============================

    3.

    SELECT `color`,`fruit`,SUM(`rating`)
    FROM Medleys
    GROUP BY `color`,`fruit`
    

    SQL 바이올린 예

  4. ==============================

    4.이것은 귀하의 질문에 대답한다 :

    이것은 귀하의 질문에 대답한다 :

    SELECT 색, 과일, [합]과 같은 합 (평가) medleys FROM GROUP BY 색상, 과일 ORDER BY 색상

  5. from https://stackoverflow.com/questions/15512628/sql-query-with-distinct-and-sum by cc-by-sa and MIT license