0

ID と UNIX タイムスタンプの 2 つの列を持つテーブルがあります (つまり、Mysql スタイルではなく、1970 年型の純粋な秒です)。

毎日のタイムスタンプの数を知りたいです。

私がこれまでに持っているクエリは次のとおりです。

SELECT unixtime, count(unixtime)
    AS count
    FROM core
    GROUP BY unixtime

もちろん、私がする必要があるのは、unixtime スタンプを最も近い日に切り上げることです。どうすればいいですか?

4

2 に答える 2

2

FROM_UNIXTIMEwithを使用するとDATE、目的の結果が得られます。

SELECT DATE(FROM_UNIXTIME(unixtime)), COUNT(unixtime) AS count
FROM core
GROUP BY DATE(FROM_UNIXTIME(unixtime))
于 2012-10-04T21:21:12.847 に答える
0

整数除算を使用して、エポック以降の日 (整数) を見つけることができます。

# current day
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2014-04-16 14:52:06 |
+---------------------+

#number of days since epoch - there 86400
mysql> select unix_timestamp() div 86400 as days_since_epoch;
+------------------+
| days_since_epoch |
+------------------+
|            16176 |
+------------------+

#convert back to rounded off day
mysql> select from_unixtime((unix_timestamp() div 86400) * 86400) as today;
+---------------------+
| today               |
+---------------------+
| 2014-04-16 00:00:00 |
+---------------------+
于 2014-04-16T14:54:55.067 に答える