ホームページ >データベース >mysql チュートリアル >単一の SQL SELECT ステートメントで DISTINCT と ORDER BY を併用して重複を削除し、日付で並べ替えるにはどうすればよいですか?

単一の SQL SELECT ステートメントで DISTINCT と ORDER BY を併用して重複を削除し、日付で並べ替えるにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-07 09:12:48918ブラウズ

How Can I Use DISTINCT and ORDER BY Together in a Single SQL SELECT Statement to Remove Duplicates and Sort by Date?

単一の SELECT ステートメントで DISTINCT と ORDER BY を使用する

データを順序付けしながら結果セットから重複を削除しようとしました。特定の日付で、DISTINCT と ORDER BY が連携して動作しないという問題が発生しました。

この問題は、ORDER BY 句で使用される列が DISTINCT 関数で指定されていない場合に発生します。これに対処するには、DISTINCT 内で集計関数を利用し、目的のカテゴリごとにデータをグループ化する必要があります。

目的の結果を達成するには、次のコードを検討してください。

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

Thisクエリは集計関数 MAX(CreationDate) を使用して、最新の作成日で行を並べ替えます。 GROUP BY 句を使用すると、異なるカテゴリのみが結果セットに含まれるようになります。最後に、ORDER BY 句が集計関数とカテゴリ列に適用され、カテゴリが指定された方法で順序付けされることが保証されます。

以上が単一の SQL SELECT ステートメントで DISTINCT と ORDER BY を併用して重複を削除し、日付で並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。