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

ORACLE SQLのMAX()

    集計関数を使用せずにSELECT句に追加した列は、GROUPBY句に含める必要があります。

    少し明確にするために:
    この例を見てください:

    SELECT句にTransactionID、AccountID、TransactionAmount、TransactionDateがあり、すべての日付にSUM(TransactionAmount)が必要です。この場合、

    SELECT TransactionDate, TransactionID, AccountID, SUM(TransactionAmount) 
    FROM Table 
    GROUP BY TransactionDate
    

    次に、エラーが発生します。
    20160101に4つのトランザクションがあり、各transactionAmountが$1000であると仮定します
    結果の期待値は

    TransDate      TransAmt
     20140101          4000
    

    この場合、AccountIDやTransactionIDなどの他の属性をSELECT句に含めると、それらはどこに移動しますか?これが、AGGREGATE関数を使用する属性を除いて、SELECT句のすべての属性をGROUP句に含める必要がある理由です。



    1. 'HH24:MI:SSxFF6'の形式のvarchar2フィールドを2番目の間隔時間(6)としてどのように選択しますか?

    2. 「MySQLサーバーがなくなったかどうかを確認する方法」

    3. SQLで整数の最大値を取得するにはどうすればよいですか?

    4. 2列の選択で1列の重複する値を削除します