0

我正在尝试获取每天的最新时间(end_time),然后使用正确的 trans_num(id#)和 log_message 发布它......有点工作但有一些问题..

这是数据的图片:

在此处输入图像描述

这是我的代码:

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 月 2 日的 trans_num 错误...假设为 757,log_message 也错误...应该是“jj”

谁能帮我?

4

1 回答 1

1

因此,您需要将您选择的内容end_time与适当的trans_numand相匹配log_message。您可以通过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 
于 2013-10-28T05:29:49.730 回答