Mysql 使用同一行中的正确数据分组最新时间

Mysql 使用同一行中的正确数据分组最新时间,mysql,Mysql,我正在尝试获取每天的最新时间(结束时间),然后用正确的trans_num(id#)和log_消息发布它…有点有效,但有一些问题 以下是数据的图片: 这是我的密码: SELECT max(start_time) as start_time, max(end_time) as end_time, uid, trans_num, log_message FROM table1 WHERE uid='admin' AND start_time BETWEEN '2013-09-29 00:00:00'

我正在尝试获取每天的最新时间(结束时间),然后用正确的trans_num(id#)和log_消息发布它…有点有效,但有一些问题

以下是数据的图片:

这是我的密码:

SELECT max(start_time) as start_time, max(end_time) as end_time, uid, trans_num, log_message FROM table1 WHERE uid='admin' AND start_time BETWEEN '2013-09-29 00:00:00' AND '2013-10-05 23:59:59' GROUP BY DATE(end_time)
结果是:

正在选择正确的最新时间,但2013-10-02的传输错误。。。假设是757,日志信息也是错误的。。。应该是“jj”


有人能帮我吗?

因此,您需要将所选的
结束时间
与相应的
trans\u num
log\u消息
相匹配。您可以通过
JOIN
将结果与初始表合并来完成此操作:

SELECT  
    a.st,
    a.et,
    t1.trans_num,
    t1.log_message
FROM
    (SELECT 
        max(start_time) as st, 
        max(end_time) as et 
    FROM table1 
    WHERE uid='admin' AND start_time BETWEEN '2013-09-29 00:00:00' AND '2013-10-05 23:59:59' 
    GROUP BY DATE(end_time)) a
    JOIN 
    table1 t1 ON a.et=t1.end_time 

最大开始时间和最大结束时间可以对应不同的传输。你想要哪一个?这是一个错误#1064-您的SQL语法有错误@RuberChicken在哪一行?在表1的“附近”,其中uid='admin'和开始时间在“2013-09-29 0”之间10@rubberchicken打字错误-在
et