我试图让这个查询在这个例子中只显示1个结果(不是LIMIT):
SELECT company_id FROM `location` WHERE `state` = 'XX'
结果与此类似:
16 9 9 9 9 30 30 30 45 50 50 50 50 57 7 79 80 80 80 80 120 120 120 120 120 128 131 120 265 265
我的目标是获得这些结果:
16 9 30 45 50 57 7 79 80 120 128 131 120 265
答案 0 :(得分:3)
只需在列名
之前添加DISTINCT
关键字
SELECT DISTINCT company_id FROM `location` WHERE `state` = 'XX'
DISTINCT
语句中的SELECT
关键字会删除查询返回的重复项。
答案 1 :(得分:1)
使用DISTINCT
关键字
SELECT DISTINCT company_id FROM `location` WHERE `state` = 'XX'
它会给出理想的结果。
答案 2 :(得分:0)
当您想要检索不同的结果集时,只需使用DISTINCT
.....
SELECT DISTINCT company_id FROM `location` WHERE `state` = 'XX'
您可以通过以下方式使用Group By
替代DISTINCT:
SELECT company_id FROM `location` WHERE `state` = 'XX' GROUP BY company_id
尽管我强烈建议您在方案中使用DISTINCT
,但GROUP BY
和DISTINCT
会产生与性能相同的执行计划......