| 分類:[データベース全般]
windows7 oracle
商品 コード 出荷日時 メロン A1 2013/11/23 09:30:00 イチゴ A1 2013/11/23 12:10:00 メロン A1 2013/11/23 18:15:00 メロン A1 2013/11/24 03:45:00 イチゴ A1 2013/11/24 12:40:00 メロン A2 2013/11/24 22:20:00
商品 コード 2013/11/23 08:30:00〜2013/11/24 08:30:00までのカウント 2013/11/24 08:30:00〜2013/11/25 08:30:00までのカウント メロン A1 3 0 イチゴ A1 1 1 メロン A2 0 1 ※ 日時の区切りは1日とする(区切りの時間は0時ではなく、ユーザーの時間による、初期は08:30:00)
上記のような集計したいのですが
SELECT 商品, コード, COUNT(*)AS "11/23" FORM デーブル WHERE 出荷日時 BETWEEN TO_DATE('2013/11/23 08:30:00','YYYY/MM/DD HH24:MI:SS')AND BETWEEN TO_DATE('2013/11/24 08:30:00','YYYY/MM/DD HH24:MI:SS') GROUP BY コード, 商品 ORDER BY コード, 商品 --------------------------------------------------------------------
SELECT 商品, コード, COUNT(*)AS "11/24" FORM デーブル WHERE 出荷日時 BETWEEN TO_DATE('2013/11/24 08:30:00','YYYY/MM/DD HH24:MI:SS')AND BETWEEN TO_DATE('2013/11/25 08:30:00','YYYY/MM/DD HH24:MI:SS') GROUP BY コード, 商品 ORDER BY コード, 商品 -------------------------------------------------------------------- ・ ・ ・ このSQLだと、これでは毎回日時を入力しなければならないので大変です。(数年分) 初心者の質問ですみません。どうかご教授宜しくお願い致します。 |