行ごとに生データを表示するには、どのクエリを実行する必要がありますか?それを行う方法はありますか?このようrollup
やgrouping sets
などの修飾子によって各グループの前の生データ
User ReceiptNo Price
----- ---------- ------
A 876 100
A 877 50
**150**
B 960 60
B 961 40
**100**
行ごとに生データを表示するには、どのクエリを実行する必要がありますか?それを行う方法はありますか?このようrollup
やgrouping sets
などの修飾子によって各グループの前の生データ
User ReceiptNo Price
----- ---------- ------
A 876 100
A 877 50
**150**
B 960 60
B 961 40
**100**
ほとんどのデータベースのサポート標準グループ。もしそうなら、あなたが行うことができます:
select user, receiptno, sum(price) as price
from t
group by grouping sets ((user, receiptno), (user));
これはSql Server 2014のマシンで正常に動作しますが、SQL Server 2008ではエラーが発生します。 –
@kk_nou。 。 。私は、SQL Server 2008がこの構文をサポートしていると確信しています(たとえば、https://blogs.msdn.microsoft.com/craigfr/2007/10/11/grouping-sets-in-sql-server-2008/)。おそらく、以前のバージョンに設定されているサーバー上の互換性設定があります。 –
select user, receiptno, price, 1 as order_column
from t
union all
select user, '' as receiptno, sum(price) as price, 2 as order_column
from t
group by user
order by user, order_column
あなたは、生のデータを持つ労働組合の結果とは、人工的な列を追加することができます(生データの後に)グループの終わりに集計行を配置するために、ORDER BYで使用します。
ご使用のデータベースに質問にタグを付けてください。 –
これをSQLを使用して実行するか、TableauまたはSSRSなどのレポートツールでこの小計と総計を行うことをお勧めしますか? SQLでROLLUPを使用する方法について調べる必要があります。それはあなたを助けるはずです。 – raunakjhawar