sql >> データベース >  >> RDS >> Sqlserver

SQL で group by 句を使用しているときに集計関数エラーが発生する

    エラーはかなり明白です。 SELECT の集計されていない列 集計クエリのキーを一致させる必要があります。あなたのクエリでは、BILLDATE は集約されておらず、キーではありません。

    簡単な修正は次のとおりです:

    SELECT BILLNO, BILLDATE,
           SUM(QTY) AS SUMQTY,
           SUM(AMOUNT) AS SUMAMOUNT
    FROM PURCHASE
    GROUP BY BILLNO, BILLDATE;
    

    BILLNO ごとに 1 つの行のみが必要な場合 -- または BILLDATE がわかっている場合 すべての BILLNO で同じです -- 次に、代わりに集計関数を使用できます:

    SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
           SUM(QTY) AS SUMQTY,
           SUM(AMOUNT) AS SUMAMOUNT
    FROM PURCHASE
    GROUP BY BILLNO;
    


    1. innodbテーブルを最適化する

    2. PostgreSQLのSQLJOIN-WHERE句とON句の実行プランが異なる

    3. クエリという名前のJPAのIN句で動的パラメータを使用するにはどうすればよいですか?

    4. Hive 1.2 Metastore Serviceは、HDFSではなくS3ストレージに設定した後に開始されません