統計上の問題の解決策を探しています:
1 つの日付列を含むテーブルがあります。今私がしたいのは、10秒の特定の時間間隔で行数を数えることです:
SELECT count(id), ... AS 間隔 WHERE ... GROUP BY 間隔
どうすればこれを実行できるか考えている人はいますか?
ありがとう、マーカス
SELECT
CONCATENATE(
SUBSTR(
DATE_FORMAT(yourtimestamp, '%Y%m%d%H%i%s')
, 1, -1)
, 0) AS time_bin,
COUNT(*)
FROM yourtable
WHERE ...
GROUP BY CONCATENATE(
SUBSTR(
DATE_FORMAT(yourtimestamp, '%Y%m%d%H%i%s')
, 1, -1)
, 0)
(タイムスタンプに戻すには str_to_date() を使用します) または...
SELECT FROM_UNIXTIME(
10*FLOOR(UNIX_TIMESTAMP(yourtimestamp)/10)
) AS time_bin,
COUNT(*)
FROM yourtable
WHERE ...
GROUP BY FROM_UNIXTIME(
10*FLOOR(UNIX_TIMESTAMP(yourtimestamp)/10)
)