mysql - 按序列号分组并选择该记录的最新(最后)创建日期

标签 mysql sql cakephp-1.3 greatest-n-per-group

我创建了 1 个表列 id,serail_no。

我的显示是这样的

id  serail_no    created

1   1142B00072   2012-11-05 11:36:00
2   1142B00072   2012-12-20 14:57:54 
3   1142B00072   2012-12-28 13:20:54

4   1142B11134   2012-11-25 14:57:54  
5   1142B11134   2013-01-16 16:42:34

所以现在我想要这样的输出。

3   1142B00072   2012-12-28 13:20:54
5   1142B11134   2013-01-16 16:42:34

最佳答案

您可以使用子查询获取每个serial_no 的最新记录。然后将子查询的结果连接回原始表,以便您可以获得其他列。

SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT serial_no, MAX(created) max_date
            FROM    tableName
            GROUP BY serial_no
        ) b ON a.serial_no = b.serial_no AND
                a.created = b.max_date

关于mysql - 按序列号分组并选择该记录的最新(最后)创建日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14597312/

相关文章:

mysql - 用于在 MySQL DB 中存储标签和 URL 的最佳字符集和排序规则

mysql - SQL 用子句求和数据

sql - 甲骨文月复一日

javascript - CakePHP : calling an external Javascript function

php - CakePHP框架中的MySQL SET和ENUM类型

mysql - MySQL:查找各组总数的百分比

php - 在配置了 s2Member 的 WordPress 中获取 "lapsed"成员的快速而肮脏的方法是什么?

sql - 如何使用oracle sql获取数字的前4位

php - 如果我使用 $this->Form->textarea() 验证在 cake php 中不起作用

mysql - Laravel 与 docker 数据库错误 : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name does not resolve