1. ホーム
  2. sql

[解決済み] DISTINCTとORDER BYを同じSELECT文で使用するには?

2022-06-15 11:29:16

質問

次の文を実行した後。

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による順序は非常に重要です。

どのように解決するのですか?

問題なのは、このメソッドで使用されるカラムが ORDER BY で指定されていないことです。 DISTINCT . これを行うには 集計関数 を使ってソートし GROUP BY を使うことで DISTINCT を働かせる。

このようなものを試してみてください。

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