mysql - 需要从两个字段中进行选择,第一个字段是唯一的,基于第二个字段的最高值

标签 mysql sql

我有一个包含三个字段的表:一个 ID、一个日期(字符串)和一个 INT。像这样。

+---------------------------
+BH|2012-09-01|56789
+BH|2011-09-01|56765
+BH|2010-08-01|67866
+CH|2012-09-01|58789
+CH|2011-09-01|56795
+CH|2010-08-01|67866
+DH|2012-09-01|52789
+DH|2011-09-01|56665
+DH|2010-08-01|67866

基本上,对于每个 ID,我只需要返回具有最高日期字符串的行。从这个例子来看,我的结果应该是。

+---------------------------
+BH|2012-09-01|56789
+CH|2012-09-01|58789
+DH|2012-09-01|52789

最佳答案

SELECT t.id, t.date_column, t.int_column
    FROM YourTable t
        INNER JOIN (SELECT id, MAX(date_column) AS MaxDate
                        FROM YourTable
                        GROUP BY id) q
            ON t.id = q.id
                AND t.date_column = q.MaxDate

关于mysql - 需要从两个字段中进行选择,第一个字段是唯一的,基于第二个字段的最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10357817/

相关文章:

c# - 将 Xamarin 连接到 Python MySQL 连接器

MySQL存储过程变量问题

MySql 查询按一天中的小时统计当前访客数量

mysql - 基本 SQL 查询

Java 和 Microsoft Access sql select 命令与二分搜索

用于随机填充行的MySql过程仅填充一行

sql - 为什么此转换为 DATETIME2 包含额外的粒度?

php - 是否可以在 mysql 中选择 SET 的所有单个字符串?

mysql - 根据 MySql 中输入的日期设置行中的值

php - 将数据库中的数组行添加到一个变量