0
私は状況とIDに基づいてSQL Serverデータベースで行をグループ化し、数を表示するシナリオがあります。私がしようとしていたが、私は結果がSQL Server:複数の行の値を1つの行に
bid status accept rejected noResp
--------------------------------------
1 1 1 1 0
2 1 1 1 0
3 1 1 1 0
2 2 0 2 0
3 2 0 1 0
ある
select
req_id as bid, status,
(case when status = 1 then 1 else 0 end) as accept,
count(case when status = 2 then 1 else 0 end) as rejected,
(case when status = 3 then 1 else 0 end) as noResp
from
temp_allo
group by
req_id, status
の下のような独立した別々の行の値を取得しています(ステータスは、参考値です)
が、私はこのような結果が必要です。
bid accept rejected noResp
-----------------------------------
1 1 0 0
2 1 2 0
3 1 1 0
私は試したstackoverflowから多くのサンプルを得ましたMAX()
、SUM()
、CASE
でも動作させることができませんでした。あなたは状況にピボットされているので
ので、私はそれがGROUP BY
リストに表示されてはならないことを提案し、...
入札= 1の場合、rejected = 0をどのように受け取るかは、ロジックに問題はありませんか? – igr
これは、データベースエントリから抽出された人数を拒否した人数に基づくカウントです。 – Malar