ホームページ > データベース > mysql チュートリアル > SQL で最大値に対応する列の値を取得するにはどうすればよいですか?

SQL で最大値に対応する列の値を取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-29 22:00:20
オリジナル
832 人が閲覧しました

How to Retrieve Corresponding Column Values for the Maximum Value in SQL?

最大値に対応する列値の取得

SQL では、最大値に対応する列値を取得したい場合があります。別の列の値を取得しながら、取得したデータが

問題:

テーブルをクエリして特定の列を取得し、列に基づいて結果をグループ化する場合 (ビデオ カテゴリなど)、指定された列 (video_id など) の最大値を指定すると、正しい値が取得されますが、他のすべての列 (video_url、video_date、など) についてはテーブルの最初の行が返されます。

解決策:

最大値に対応する列を適切に取得するには、次のアプローチを検討してください:

SELECT
    s.video_id
    ,s.video_category
    ,s.video_url
    ,s.video_date
    ,s.video_title
    ,s.short_description
FROM videos s
   JOIN (SELECT MAX(video_id) AS id FROM videos GROUP BY video_category) max
      ON s.video_id = max.id
ログイン後にコピー

このクエリは、JOIN 操作を利用して、最大ビデオ ID を計算するサブクエリからのビデオ ID (video_id) を照合します。各ビデオ カテゴリの (id) とビデオ テーブルのビデオ ID。 JOIN 条件 s.video_id = max.id を使用することで、各カテゴリの最大ビデオ ID を持つ行のみが返されるようになります。

このアプローチは、最大ビデオ ID に対応する正しい値を提供するだけではありません。また、元の投稿で提案されたソリューションよりも大幅に高速に実行されます。

以上がSQL で最大値に対応する列の値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート