このSQLステートメント
SELECT `ip`, `when` FROM `metrics` WHERE `vidID` = '1' GROUP BY DATE('when')
異なる日付のテーブルに複数が存在する場合でも、1つの結果を返します。私も使ってみましDATE_FORMAT
た。私は愚かなことをしていますか?
When
時間、分、秒を含む完全なタイムスタンプを含むタイムスタンプ列です。結果を日/月/年でグループ化しようとしています。
'when'
フィールドではなく定数文字列でグループ化しているようですwhen
。
代わりにこれを使用してください:
GROUP BY DATE(`when`)
特定の日付のIPアドレスをカウントしたいようです。
SELECT COUNT(`ip`) AddressCount, `when`
FROM `metrics`
WHERE `vidID` = '1'
GROUP BY DATE(`when`)
通常、GROUP BYは、1つ以上の列によって結果セットを計算するために、何らかの集計関数(SUMなど)と組み合わせて使用されます。ここで何を達成しようとしていますか?並べ替えるのですか、それとも、どのIPにどの日付のレコードがあるかをまとめたリストを取得するのですか?