Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL选择每天的最后一个时间戳_Mysql_Sql_Select_Group By_Unix Timestamp - Fatal编程技术网

Mysql SQL选择每天的最后一个时间戳

Mysql SQL选择每天的最后一个时间戳,mysql,sql,select,group-by,unix-timestamp,Mysql,Sql,Select,Group By,Unix Timestamp,我试图将时间戳列表减少到每天的最后一个 我可以使用下面的SQL来提取我正在寻找的时间戳,但我也将它们转换为格式化日期,我不想这样做 select from_unixtime(intTimeStamp) as day from ( select distinct intTimeStamp from TableA order by intTimeStamp desc ) as t2 group by date(day) order by in

我试图将时间戳列表减少到每天的最后一个

我可以使用下面的SQL来提取我正在寻找的时间戳,但我也将它们转换为格式化日期,我不想这样做

select
     from_unixtime(intTimeStamp) as day
from
    (
        select distinct intTimeStamp from TableA order by intTimeStamp desc
    ) as t2
group by
    date(day)
order by
    intTimeStamp desc
这是输出:

2014-08-29 13:21:01
2014-08-28 13:21:01
2014-08-27 13:21:01
2014-08-26 13:21:01
2014-08-25 13:21:21
2014-08-22 10:11:01
2014-08-21 13:21:01
2014-08-20 13:21:01
[remaining omitted]
1409343661
1409170501
1406060101
1401221701
1400271301
1400012101
这是预期的,但我需要他们在他们原来的unixtime格式

然而,简单地删除from_unixtime函数会产生非常奇怪的行为。它只返回6行,而不是预期的168行。我注意到返回的六行中只有一行是当天的最后一个时间戳。它跳过了95%的时间戳,但我不知道为什么

select
     intTimeStamp as day
from
    (
        select distinct intTimeStamp from TableA order by intTimeStamp desc
    ) as t2
group by
    date(intTimeStamp)
order by
    intTimeStamp desc
这是输出:

2014-08-29 13:21:01
2014-08-28 13:21:01
2014-08-27 13:21:01
2014-08-26 13:21:01
2014-08-25 13:21:21
2014-08-22 10:11:01
2014-08-21 13:21:01
2014-08-20 13:21:01
[remaining omitted]
1409343661
1409170501
1406060101
1401221701
1400271301
1400012101
解释以下两个方面的输出:

1   PRIMARY <derived2>  ALL                 13338   Using temporary; Using filesort
2   DERIVED TableA  range       PRIMARY 4       10  Using index for group-by; Using temporary; Using filesort
如何像在第一个查询中一样,只检索每天的最后一个时间戳,而不必从unix时间戳转换它们,或者至少将它们作为一个时间戳输出


谢谢。

您可以通过以下方式进行简单分组:


这样做很好,而且简单得多。根据我提供的信息,是否有任何突出之处会导致我在第二个问题中描述的奇怪行为?问题中的两个问题看起来与我相同。我很抱歉-我已更新了第二个问题。MySQL在将整数转换为日期时做了非常奇怪的事情。你需要从你的时间。