私は一時テーブルにダンプした複雑なクエリを持っています。集計SQL ServerのGROUP BY
このデータセットには、映画、COD、機能、その他のさまざまな種類の取引があります。
代金とその他の商品の合計金額が10Kと15Kのすべての取引は、取引名が「合計金額」の1行に集計されます。 それ以外の場合は、それ自身の行が必要です。
どうすればよいですか?私はGROUP BY
を使っているように見えません。SUM(totalrev_YTD)
10と15kの間を使っています。
誰も助けてください:
SELECT
location, locationid, dealtype,
(CASE
WHEN dealtype = 'OTHER (COD, ETC)' and totalrev_YTD BETWEEN 10000 AND 15000
THEN 'OTHER (COD, ETC)'
ELSE deal
END) as deal,
rental_PW, rental_MTD, rental_QTD, rental_YTD,
sales_PW, sales_MTD, sales_QTD, sales_YTD,
otherrev_PW, otherrev_MTD, otherrev_QTD, otherrev_YTD,
totalrev_PW, totalrev_MTD, totalrev_QTD, totalrev_YTD
FROM
#temp_rev t1
WHERE
dealtype = 'OTHER (COD, ETC)'
GROUP BY
(CASE
WHEN dealtype = 'OTHER (COD, ETC)' and totalrev_YTD BETWEEN 10000 AND 15000
THEN 'OTHER (COD, ETC)'
ELSE deal
END),
location, locationid, dealtype,
rental_PW, rental_MTD, rental_QTD, rental_YTD,
sales_PW, sales_MTD, sales_QTD, sales_YTD,
otherrev_PW, otherrev_MTD, otherrev_QTD, otherrev_YTD,
totalrev_PW, totalrev_MTD, totalrev_QTD, totalrev_YTD
この例は、私が10 COD、他の取引を持っているだろう。この取引の1つにtotalrev_YTD
> 15Kがあります。この場合は、それ自身の行と一緒に表示され、もう1つは集約されるべきです。
は、開始するには絶好の場所です。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
エラーが表示されない場合はどうすればいいですか? group byのcaseステートメントの使用は有効ですが、元の列のdealtypeをgroup byおよびselectで残しておきます。同じcase文をselectに入れる必要があります。また、これらの列のすべてを使用して、実際にどのようにしたいかを集計しているとは限りません。 – Matt