sql - 仅包含具有特定列值的第一个条目

标签 sql ms-access odbc

使用时 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/

相关文章:

mysql - 在带有 group by 的 where 子句中使用别名

SQL 字符串让我抓狂

sql-server - 如何在 SQL Server 或 Microsoft Access 中按绝对值对列进行排序?

ms-access - Id字段(主键)跳过已删除的行数,如何更改?

SQL:如何根据同一表中其他列的值创建新列

SQL Server : Attempting to Insert a Duplicate Record Costs an Id

mysql - 我可以使用 ODBC 参数两次吗?

mysql - DateTime 列在链接到 MySQL 后端的 MS Access 表中不起作用

sql - sql 表中的随机行以及列值的百分比

php - 我正在尝试通过 ODBC 将 Sage Line 50 Access 数据库与 Mysql 同步