查看以下数据:
who code info
1 1467 1
1 1468 2
1 1469 3
3 1467 5
3 1468 4
3 1469 7
我需要做的是选择不重复的代码:WHO = 1,如何忽略WHO = 3但不说:WHERE who!= 3,因为我需要做类似的事情:
GROUP BY code
其实我得到这样的结果:
1 1468 2
3 1467 5
3 1469 7
我想要的是:
1 1467 1
1 1468 2
1 1469 3
答案 0 :(得分:0)
只需将who
添加到群组中,然后使用WHERE
过滤掉ID 3。
SELECT who, code, info FROM data WHERE who != 3 GROUP BY who, code
请注意,如果您从此查询中选择info
之类的内容而不对其进行分组,MySQL将为您提供该组中任何一行的值(不保证哪一行 - 这只是如果您使用MySQL;大多数数据库引擎甚至不会让您构建这样的查询!)。所以你可能想要的就是三个:
SELECT who, code, info FROM data WHERE who != 3 GROUP BY who, code, info