同じ SELECT ステートメントで DISTINCT と ORDER BY を使用するにはどうすればよいでしょうか? 質問する

同じ SELECT ステートメントで DISTINCT と ORDER BY を使用するにはどうすればよいでしょうか? 質問する

次のステートメントを実行した後:

SELECT  Category  FROM MonitoringJob ORDER BY CreationDate DESC

データベースから次の値を取得しています:

test3
test3
bildung
test4
test3
test2
test1

しかし、次のように重複を削除したいのです:

bildung
test4
test3
test2
test1

DISTINCT を使用しようとしましたが、1 つのステートメントで ORDER BY が機能しません。助けてください。

重要:

  1. 私はこれを試しました:

    SELECT DISTINCT Category FROM MonitoringJob ORDER BY CreationDate DESC
    

    それは機能しません。

  2. CreationDate による順序付けは非常に重要です。

ベストアンサー1

問題は、 で使用される列がORDER BYで指定されていないことですDISTINCT。これを行うには、集計関数で並べ替え、を使用して作業GROUP BYを行いますDISTINCT

次のようなことを試してください:

SELECT DISTINCT Category, MAX(CreationDate) 
FROM MonitoringJob 
GROUP BY Category 
ORDER BY MAX(CreationDate) DESC, Category

おすすめ記事