[英]Sub-Query not Aggregating in Select
我有這個選擇語句:
SELECT p.WPD, count(b.PID) as ParcelsPerBlck,
(SELECT count(PID)
FROM bos05eb
WHERE ptype BETWEEN 009 AND 133) as ResdOnly
FROM ebos_parcels05 p, bos05eb b
WHERE p.PID_LONG = b.PID
GROUP BY p.WPD;
我希望 select 語句中的子查詢結果也按 p.WPD 分組。 但我在每一行中得到查詢的結果如下:
WPD ParcelsPerBlck ResdOnly
01-02-030 38 6198
01-08-035 56 6198
01-04-060 11 6198
等等。
子查詢的結果可以不分組,這樣我只能得到每行的子查詢ResdOnly的結果計數嗎?
您可以為此使用條件聚合,而無需相關子查詢:
select
p.WPD,
count(b.PID) as ParcelsPerBlck,
sum(case when b.ptype between 009 AND 133 then 1 else 0 end) as ResdOnly
from
ebos_parcels05 p
join
bos05eb b on p.PID_LONG = b.PID
group by
p.WPD
請注意顯式join
語法的使用——無需在from
子句中使用逗號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.