我的表名为n_datatest
这是原始数据 -
rid | centre | subcentre | ---------------------------- 1 | 1 | 489 | 2 | 1 | 489 | 3 | 1 | 489 | 4 | 1 | 234 | 5 | 1 | 234 | 6 | 2 | 489 | 7 | 2 | 489 | 8 | 2 | 234 | 9 | 2 | 234 | 10 | 2 | 368 | 11 | 2 | 368 | 12 | 3 | 657 | 13 | 3 | 657 | 14 | 3 | 4 | 15 | 3 | 4 | ----------------------------
我在上表中应用了查询 SELECT DISTINCT subcentre,center,rid FROM n_datatest
此查询结果全部为15行但我希望我的数据结果与下面提到的完全相同
我想要输出 -
|subcentre | centre | rid | ---------------------------- | 489 | 1 | 1 | | 234 | 1 | 4 | | 489 | 2 | 6 | | 234 | 2 | 8 | | 368 | 2 | 10 | | 657 | 3 | 12 | | 4 | 3 | 14 | ----------------------------
答案 0 :(得分:0)
distinct在这种情况下不会工作,因为摆脱是不同的。
并且在3个字段中应用了distinct。
从你想要的结果来看,似乎你想要最小的摆脱,而在其他领域是不同的,所以
select subcentre, centre, min(rid) as rid
from n_dataset
group by subcentre, centre
order by rid
请参阅SqlFiddle
mysql(仅限mysql)允许你做
select rid, subcentre, centre
from table
group by subcentre, centre
但你不知道会检索哪个摆脱。