私は日付範囲でグループ化されたデータを返すクエリを作成しようとしていますが、1つのクエリ(計算を含む)でそれを行う方法があるのか、別の3つのクエリを書く必要があるのだろうか?私のテーブルの日付は、Unixタイムスタンプとして保存されます。MySqlクエリ - 日付範囲でグループ化しますか?
は例えば、私のレコードは次のようになります。
- 2011-05:
id type timestamp 312 87 1299218991 313 87 1299299232 314 90 1299337639 315 87 1299344130 316 87 1299348977 497 343 1304280210 498 343 1304280392 499 343 1304280725 500 343 1304280856 501 343 1304281015 502 343 1304281200 503 343 1304281287 504 343 1304281447 505 343 1304281874 566 90 1305222137 567 343 1305250276 568 343 1305387869 569 343 1305401114 570 343 1305405062 571 343 1305415659 573 343 1305421418 574 343 1305431457 575 90 1305431756 576 343 1305432456 577 259 1305441833 578 259 1305442234 580 343 1305456152 581 343 1305467261 582 343 1305483902
は私が間、「作成」の日付を持つすべてのレコードを検索しますクエリを記述しようとしています-01と2011-06-01(月)
- 2011-03-01と2011-06-01(四半期)
- 2010-05-01 AND 2011-06-01(年)
私は(このケースでは、私は...私はそれが仕事を得ることができるかどうかを確認するだけで月のUNIX値をハードコード)次のことを試してみました:
SELECT COUNT(id) AS idCount,
MIN(FROM_UNIXTIME(timestamp)) AS fromValue,
MAX(FROM_UNIXTIME(timestamp)) AS toValue
FROM uc_items
WHERE ADDDATE(FROM_UNIXTIME(timestamp), INTERVAL 1 MONTH)
>= FROM_UNIXTIME(1304233200)
しかし、それはいないようですfromValueが:2011-04-02 21:12:56であり、toValueが2011-10-25 06:20:14であることは明らかです。2011年5月1日から2011年6月20日までの間の日付ではありません。 1/2011。