SQL为列的每个不同值返回一行(不介意哪一行)

时间:2014-06-18 09:32:49

标签: sql

我有一个名为X的列的表.X包含从0到99的数字。但是有重复项(例如0有多次!)

现在我需要一个查询,给出0,1,2,3 ... 99的任何行,这意味着我在一个查询中得到100个结果,但我不关心x == 0中的哪一个, x == 1 ......我明白了,但只有其中一个!

sql中有这样的东西吗?

1 个答案:

答案 0 :(得分:2)

select distinct x
from your_table

要获得完整记录,您可以按X列进行分组。但是你必须告诉DB你想要的其他列的重复值是什么。

 select x, min(y) as y
 from your_table
 group by x

如果按X构建组,则此值将是不同的。对于其他列,您需要一个所谓的聚合函数,例如min()。这告诉数据库选择每个Y组的最小X