一个月内每天的最后记录

时间:2016-10-13 14:53:47

标签: mysql group-by

我对一条记录有一个奇怪的问题。 我每天都有一些行。 我选择整个月中某一天的最后一条记录。

表是这样的:

|name |surname|date_in            |
|mario|rossi  |2016-01-01 00:12:12
|mario|rossi  |2016-01-01 00:14:12
|mario|rossi  |2016-01-01 00:16:12
|mario|rossi  |2016-01-01 00:18:12
|mario|rossi  |2016-01-01 00:22:12
|mario|rossi  |2016-01-02 00:12:12
|mario|rossi  |2016-01-02 00:14:12
|mario|rossi  |2016-01-02 00:16:12
|mario|rossi  |2016-01-02 00:18:12
|mario|rossi  |2016-01-02 00:22:12

我的查询是这样的:

 SELECT name,surname,date_in
 FROM table
    INNER JOIN
    (
    SELECT MAX(date_in) AS maxim FROM table
           GROUP BY date(date_in)
    ) tableformax
    on table.date_in = tableformax.maxim
    WHERE 
    date_in > 2016-01-01 AND date_in < 2016-01-30

我正确地得到了每天的最后一行,但查询忽略了2016-01-07。

如果我使用MIN我整天都会得到

任何想法?

1 个答案:

答案 0 :(得分:0)

SELECT name,surname,date(date_in)date_in_date,max(date_in)date_in_max 从表 WHERE日期(date_in)&gt; ='2016-01-01'和日期(date_in)&lt; ='2016-01-31' 按日期分组(date_in);

尝试以下查询,我相信这是一个月度范围。