こんなテーブルがある。
ID | 社員番号 | 名前 |
1 | 1111 | Aさん |
2 | 2222 | Bさん |
3 | 3333 | Cさん |
4 | 1111 | Aさん |
5 | 1111 | Aさん |
6 | 4444 | Dさん |
7 | 5555 | Cさん |
8 | 2222 | Bさん |
ここで、SELECT * FROM `Table_Name` WHERE `社員番号` = '1111' GROUP BY `社員番号`とすると
ID | 社員番号 | 名前 |
1 | 1111 | Aさん |
こんな形で出てくるが
ここで欲しいのは、GROUP BYとして、重複データをまとめて、尚かつ社員番号1111のIDの大きい物を出したい
それで、調べてみたら合った
SELECT max(id), id, 社員番号, 名前 FROM `Table_Name` WHERE `社員番号` = '1111' GROUP BY `社員番号`
とすると
max(id) | ID | 社員番号 | 名前 |
5 | 1 | 1111 | Aさん |
と表示される。
これで、社員番号1111の新しいIDと古いIDが両方取得できる
0 件のコメント:
コメントを投稿