ホームページ  >  記事  >  データベース  >  MySQL で各グループの最初の行を選択するにはどうすればよいですか?

MySQL で各グループの最初の行を選択するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 19:54:02466ブラウズ

How to Select the First Row of Each Group in MySQL?

MySQL で各グループの最初の行を選択する方法

MySQL でデータを操作する場合、多くの場合、以下に基づいて各グループの最初の行のみを取得する必要があります。具体的な基準。 Linq-To-Sql は、GroupBy メソッドと Select メソッドを使用して C# でこれを実現する便利な方法を提供しますが、結果として得られる T-SQL コードは MySQL と互換性がありません。

MySQL は、最初のコードを選択するためのシンプルで効率的な方法を提供します。副選択を使用してグループごとに行を作成します。その方法は次のとおりです。

  1. サブクエリを作成して、目的のグループの主キーを取得します。 GROUP BY 句を使用して行をグループ化し、MIN( ) 各グループの主キーの最小値を取得する集計関数。
SELECT MIN(id) AS group_id
FROM sometable
GROUP BY somecolumn
  1. 実際のデータを選択するには、メイン クエリの条件としてサブクエリを使用します。 サブクエリから取得したグループ ID を使用して、メイン クエリの行をフィルタリングします。
SELECT somecolumn, anothercolumn 
FROM sometable 
WHERE id IN (
    SELECT group_id
    FROM (
        SELECT MIN(id) AS group_id
        FROM sometable
        GROUP BY somecolumn
    ) AS subquery
);

このクエリは、somecolumn 列に基づいて各グループの最初の行を効果的に取得し、データが確実に整理されており、処理が簡単です。

以上がMySQL で各グループの最初の行を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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