0

テーブルで、いくつかの列に重複する値がありますテーブルから一意の値を取得したいSELECT DISTINCT column_name FROM table_nameクエリを使用し、一意の列を取得しましたが、問題は、重複する値の誰かのIDも必要です。単一のクエリ?例えば

+----+------+------+
| id | name | po   |
+----+------+------+
|  1 | some |    2 |
|  2 | xyzs |    3 |
|  3 | frth |    2 |
|  4 | lopd |    3 |
|  5 | gtry |    2 |
+----+------+------+

ユニークなpoとそのIDのいずれかを見つけたい

出力

このようなもの

po - 2 id - ( any of 1,3,5)
po - 3 id - ( any of 2 or 4)
4

4 に答える 4

2

それらをグループ化して、最大IDまたは最小IDを取得してください。

SELECT max(id), po FROM table_name group by po
于 2013-02-07T15:02:59.697 に答える
0

これについて私を引用しないでください、しかし、あなたは次のようなことができるかもしれません:

SELECT GROUP_CONCAT(id) FROM table_name GROUP BY po
于 2013-02-07T15:03:00.607 に答える
0

どの ID を取得するか気にしない場合は、次のようにします。

SELECT po,id FROM table GROUP BY po

同じ po を持つ ID の最初/最後を取得したい場合は、MIN(id)/MAX(id) も追加できます。

SELECT po,MIN(id) as id FROM table GROUP BY po

その po のすべての ID を取得することもできます。

SELECT po,GROUP_CONCAT(id) as ids FROM table GROUP BY po
于 2013-02-07T15:03:54.720 に答える
0

これを試して:

SELECT MIN(id) id, po 
FROM table_name
GROUPB BY po, id
于 2013-02-07T15:05:29.127 に答える