使用时 SELECT * FROM myTable
我得到一个看起来像这样的列表:
A 473
A 234
B 752
C 136
但是,我不想用相同的字母获得几行。我只想用某个字母获取第一个条目,然后跳到下一个,如下所示:
A 473
B 752
C 136
现在,I know how to do this when I know what type of data I have .但是,我想编写一个 SQL 命令,不管表是什么样的,它都可以工作,也就是说,类似于以下内容:
SELECT * FROM myTable WHERE duplicates of column1 are discarded
.编辑:我真的不需要成为为每个唯一 column1 值选择的第一个条目。任何行都可以。
编辑 2:我非常希望该解决方案适用于字符串和数字。
最佳答案
您可以使用某种聚合函数来获取所需的 column2 值。例子:
SELECT Column1, MAX(Column2)
FROM MyTable
GROUP BY Column1
您可以阅读各种聚合函数及其作用 here .该链接特定于 SQL Server,但同样的想法也适用于许多 DBMS。
关于sql - 仅包含具有特定列值的第一个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11678512/