SQL での対応する最大値の検索
「ビデオ」テーブルから特定の値を取得しようとしています。各カテゴリの最大ビデオID は、一致する URL、日付、タイトル、説明に対応している必要があります。ただし、クエリでは現在、最大動画 ID に関連付けられた値ではなく、これらの値の最初の行が選択されています。
この問題を解決し、さまざまな列の値が各カテゴリの最大動画 ID と一致するようにするにはでは、次のような SQL クエリを使用できます。
SELECT * FROM videos v WHERE v.video_id IN ( SELECT DISTINCT MAX(video_id) FROM videos GROUP BY video_category ) ORDER BY v.video_category ASC
この更新されたクエリにより、URL、日付、タイトル、説明の値が各カテゴリの最大ビデオ ID に対応することが保証されます。サブクエリを使用して各カテゴリの最大ビデオ ID を特定し、メイン クエリをフィルタリングして一致する行を取得します。
または、次のクエリを使用することもできます:
SELECT * FROM videos s JOIN (SELECT MAX(video_id) AS id FROM videos GROUP BY video_category) max ON s.video_id = max.id
このクエリは結合を使用して、各カテゴリの最大ビデオ ID に基づいて「ビデオ」テーブルをフィルタリングし、選択した行の URL、日付、タイトル、説明の対応する値が揃っていることを確認します。最大のビデオ ID を付けます。
以上がURL、日付、一致する最大ビデオ ID を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。