一意の ID の最大信号値の取得
特定のデータセット内の各一意の ID の最大信号値を決定するには、次のことができます。自己結合操作を伴う次のアプローチを採用します。
SELECT cur.id, cur.signal, cur.station, cur.ownerid FROM yourtable cur WHERE NOT EXISTS ( SELECT * FROM yourtable high WHERE high.id = cur.id AND high.signal > cur.signal )
このクエリは機能します。テーブルをそれ自体 (別名 cur および high で表される) と結合し、より高い信号値が存在する行をフィルターで除外します。結果は、最も高い信号値を持つ個別の ID ごとに、ID、信号値、ステーション、所有者 ID を含む行のリストです。
提供されているサンプル テーブルのコンテキストでは、次のようになります。
ID Signal Station OwnerID 111 -120 Home 1 111 -130 Car 1 111 -135 Work 2 222 -98 Home 2 222 -95 Work 1 222 -103 Work 2
クエリを実行すると次の結果が得られます:
ID Signal Station OwnerID 111 -120 Home 1 222 -95 Work 1
このテーブルには一意の ID ごとの最大信号値が含まれており、元の問題を効果的に解決できます。不必要なデータ集約や追加のテーブル結合の必要性。
以上がデータセット内の各一意の ID の最大信号値を見つける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。