1

販売IDのリストと、それに続く販売と購入の合計があります。売上と購入の合計を計算したいと思います。totalbuyとtotalsellの合計を合計として挿入しようとしました。しかし、これはうまくいきませんでした。

select sales_id, 
   SUM(CASE WHEN side= 'buy' THEN 1 ELSE 0 END) AS totalbuy, 
   SUM(CASE WHEN side= 'sell' THEN 1 ELSE 0 END) AS totalsell 
from car_orders 
where sales_id like '%%' 
GROUP BY sales_id
4

3 に答える 3

0
SELECT 
  sales_id, 
  totalbuy, 
  totalsell, 
  (totalbuy + totalsell) as total 
FROM
 (SELECT 
   sales_id, 
   SUM(CASE WHEN side= 'buy' THEN 1 ELSE 0 END) AS totalbuy, 
   SUM(CASE WHEN side= 'sell' THEN 1 ELSE 0 END) AS totalsell
   FROM car_orders 
   WHERE sales_id like '%%' 
   GROUP BY sales_id)q

または、サイドが「購入」または「販売」のみである場合

SELECT 
  sales_id, 
  SUM(CASE WHEN side= 'buy' THEN 1 ELSE 0 END) AS totalbuy, 
  SUM(CASE WHEN side= 'sell' THEN 1 ELSE 0 END) AS totalsell,
  COUNT(*) as total
FROM car_orders 
WHERE sales_id like '%%' 
GROUP BY sales_id
于 2012-11-01T15:57:19.163 に答える
0
select sales_id, 
   SUM(CASE WHEN side= 'buy' THEN 1 ELSE 0 END) AS totalbuy, 
   SUM(CASE WHEN side= 'sell' THEN 1 ELSE 0 END) AS totalsell,
   SUM(1) as totalbuyplussell 
from car_orders 
where sales_id like '%%' 
GROUP BY sales_id

側を想定=購入または販売。

于 2012-11-01T15:58:04.187 に答える
0

句に一致するすべてのsalesidの合計が必要な場合は、 :whereを削除します。group by

select 
   SUM(CASE WHEN side= 'buy' THEN 1 ELSE 0 END) AS totalbuy, 
   SUM(CASE WHEN side= 'sell' THEN 1 ELSE 0 END) AS totalsell 
from car_orders 
where sales_id like '%%' 
于 2012-11-01T16:07:57.220 に答える