次のような式で min() および max() 関数を使用しようとしているだけです。
SELECT WSN, MIN(TOP) - MAX(BASE) FROM PERFS GROUP BY WSN
しかし、これは有効な SQL ではないようです。式で集計関数を使用できないと言われ続けています。助けてもらえますか?
これは、Oracleを使用している私にとってはうまくいきます。使用している DBMS は何ですか?
以下のステートメントは、照会できるサンプルのインライン テーブルを作成します。ここでは、そのまま実行できる (自己完結型) サンプル コードを提供しました。独自のデータベース スキーマに合わせて調整する必要があります。
WITH TEST_DATA AS (
SELECT 'ted' AS name, 1 as val FROM DUAL UNION ALL
SELECT 'ted' AS name, 2 as val FROM DUAL UNION ALL
SELECT 'ted' AS name, 3 as val FROM DUAL UNION ALL
SELECT 'sam' AS name, 5 as val FROM DUAL UNION ALL
SELECT 'sam' AS name, 10 as val FROM DUAL
)SELECT name, MIN(val) - MAX(val) as minmax
FROM TEST_DATA
GROUP BY name