LoginSignup
0
0

More than 1 year has passed since last update.

MySQL – GROUP BY で最小/最大の値を持つレコード1件ずつだけに絞り込む

Posted at

クエリの例

サブクエリでいちどIDリストを得てからWHEREに渡すと良さそうだ

SELECT * FROM examples WHERE id IN (
  SELECT MIN(id) FROM examples GROUP BY name
);

結果

id | name
-- | --
1 | Alice
1 | Bob
1 | Carol

テーブル

id | name
-- | --
1 | Alice
2 | Alice
3 | Alice
1 | Bob
2 | Bob
3 | Bob
1 | Carol
2 | Carol
3 | Carol
CREATE TABLE examples (
  id INT,
  name VARCHAR(255)
);

INSERT INTO examples (id, name) VALUES (1, "Alice");
INSERT INTO examples (id, name) VALUES (2, "Alice");
INSERT INTO examples (id, name) VALUES (3, "Alice");

INSERT INTO examples (id, name) VALUES (1, "Bob");
INSERT INTO examples (id, name) VALUES (2, "Bob");
INSERT INTO examples (id, name) VALUES (3, "Bob");

INSERT INTO examples (id, name) VALUES (1, "Carol");
INSERT INTO examples (id, name) VALUES (2, "Carol");
INSERT INTO examples (id, name) VALUES (3, "Carol");

補足

MINをMAXに変えればidが最大値のものを得る

Fiddle

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

Twitter

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0