2

統計上の問題の解決策を探しています:

1 つの日付列を含むテーブルがあります。今私がしたいのは、10秒の特定の時間間隔で行数を数えることです:

SELECT count(id), ... AS 間隔 WHERE ... GROUP BY 間隔

どうすればこれを実行できるか考えている人はいますか?

ありがとう、マーカス

4

1 に答える 1

1
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)
)
于 2013-08-05T22:59:22.143 に答える