1

時間または期間に関して数量をグループ化しようとしています。次の表があります

SALES SALES_DATE SALES_ITEM SALES_QUANTITY

私がやっているクエリは

SELECT DATE,ITEM,SUM(QUANTITY) 
FROM SALES 
WHERE DATE BETWEEN "DATE1" AND "DATE2";

問題は、日付を表示する必要がないことです.10月の売上を探すと、日付を表示せずに10月の合計が表示されるはずです...どうもありがとうございました

例: 私が得るもの...

DATE         ITEM               SALES
2012-06-12   14152              7
2012-06-14   14152              15
2012-06-16   14157              25

必要なもの: 06-12 と 06-16 の間のクエリ

ITEM         SALES
14152        22
14157        25

どうもありがとうございます

4

1 に答える 1

1

月ごとの合計が必要な場合は、それをgroupby式に含めることができます。これが1つの方法です:

SELECT extract(year from DATE) as yr, extract(month from date) as mon, ITEM, SUM(QUANTITY) 
FROM SALES 
WHERE DATE BETWEEN "DATE1" AND "DATE2"
group by extract(year from DATE), extract(month from date)
order by 1, 2

extract標準SQLですが、すべてのデータベースがそれをサポートしているわけではありません。たとえばto_char(date, 'YYYY-MM')、OracleまたはSQLServerで使用できdatepart(month, date)ます。

于 2012-10-01T18:06:22.743 に答える