3

SQLと非常に密接に関連しています-dbから最も「アクティブな」タイムスパンを選択しますが、別の質問を選択します。

「トランザクションのテーブルがあります。このテーブルには、トランザクションの日時をUTCで保存しています。数か月のデータがあり、1日あたり約20,000トランザクションです。」

どのように変化しますか

  select datepart(hour, the_column) as [hour], count(*) as total 
  from t 
  group by datepart(hour, the_column) 
  order by total desc

最も「アクティブ」だった特定の年、月、日、時、分、秒を選択できるようにします。

明確にするために、私はその日のどの時間または分が最もアクティブであったかを探していません。むしろ、どの瞬間が最も活発でしたか。

4

2 に答える 2

2
Select 
    DATEPART(year, the_column) as year
    ,DATEPART(dayofyear,the_column) as day
    ,DATEPART(hh, the_column) as hour
    ,DATEPART(mi,the_column) as minute
    ,DATEPART(ss, the_column) as second
    ,count(*) as count from t
Group By 
    DATEPART(year, the_column)
    , DATEPART(dayofyear,the_column)    
    , DATEPART(hh, the_column)
    , DATEPART(mi,the_column)
    , DATEPART(ss, the_column)
order by count desc
于 2012-10-17T16:27:31.543 に答える
2

分単位の解像度で十分な場合:

select top 1 cast(the_column as smalldatetime) as moment, count(*) as total 
from t 
group by cast(the_column as smalldatetime)
order by total desc
于 2012-10-17T16:34:41.517 に答える