可視化として、私は、これはあなたが話している定期的なサンプリングではありませんが、私は、ユーザーのためのすべての行を見て、間隔バケツを選ぶだろう知っている限りでバケット内のSUMを棒グラフなどで表示します。これは、時間枠内の多くの出現が重要であり得るため、実際の「分布」を示す。
SELECT DATEADD(day, DATEDIFF(day, 0, timefield), 0) AS bucket -- choose an appropriate granularity (days used here)
,COUNT(*)
FROM entries
WHERE uid = ?
GROUP BY DATEADD(day, DATEDIFF(day, 0, timefield), 0)
ORDER BY DATEADD(day, DATEDIFF(day, 0, timefield), 0)
それともあなたは自分自身を繰り返す必要は方法が気に入らない場合 - またはあなたが別のバケットで遊んと3-D(Xに対するZのメジャー、yのUIDに多くのユーザー間で分析したい場合、バケット):私は3-Dにプロットしたい場合は、私はおそらく利用者のためのいくつかの意味の全体的な評価指標に応じて、ユーザーを注文する方法を決定するであろう
SELECT uid
,bucket
,COUNT(*) AS measure
FROM (
SELECT uid
,DATEADD(day, DATEDIFF(day, 0, timefield), 0) AS bucket
FROM entries
) AS buckets
GROUP BY uid
,bucket
ORDER BY uid
,bucket
。私の参考のために
あなたが質問がもう少し説明することができますか?探している出力は何ですか?フリークエンシーチャート(例:Jan = 132、Feb = 112、Mar = 173などのエントリ数)、または最も早いエントリー、150番目の最も早いエントリー、300番目のエントリー、等? – nickf