MySQL查询去重:如何获取指定条件下的唯一rank值
获取非重复MySQL查询结果的解决方案
要拿到你需要的2条非重复rank值,有两种简单直接的MySQL写法可以实现:
方法1:用DISTINCT去重+LIMIT限制数量
DISTINCT关键字的核心作用就是过滤查询结果里的重复行,再搭配LIMIT就能精准返回你要的2条非重复数据:
SELECT DISTINCT `rank` FROM `table` WHERE list='180201' LIMIT 2;
这里要提醒下:你原语句里的单引号用错了——MySQL里表名、字段名得用**反引号()**包裹,单引号是用来放字符串值的,所以'rank'和'table'`必须改成反引号,不然会被MySQL当成字符串常量,导致查询出错。
方法2:用GROUP BY分组去重
如果之后你可能需要对分组数据做聚合操作(比如统计每个rank对应的记录数),用GROUP BY会更灵活,同样搭配LIMIT限制结果:
SELECT `rank` FROM `table` WHERE list='180201' GROUP BY `rank` LIMIT 2;
这种写法和DISTINCT的去重效果一致,只是适用场景更广。
执行上面任意一条语句,都会得到你想要的结果:
001
002
内容的提问来源于stack exchange,提问作者user5813961
相关产品推荐
相关产品推荐

