1
我目前正在做一個sql問題。簡單的sql計數和子查詢
問:使用產品表,找出只生產一個型號的製造商的數量。
數據庫方案包括四個表: 產品(製造者,型號,類型)
表「產品」包括關於製造者,型號,和類型(「PC」,「膝上型計算機」的信息,或「打印機」)。假定產品表中的型號對於所有制造商和產品類型都是唯一的。
的查詢:
select count(maker) from product group by maker having count(model)=1
Select count(*) from (select maker from product group by maker having count(model)=1)as A
我想知道是什麼,他們看起來是一樣的,以我這兩個查詢之間的區別,但apprently第二個是正確的答。
沒有兩個是不同將首先給計數每個製造商,並會給行的deoends多少製造商你第二次將給所有制造商,一種模式,並將導致一個單一的行 –
你有製造商的任何NULL? COUNT(column_name)忽略列名中的空值,COUNT(星號)會爲您提供一個連續的行數。如果您將頂部查詢更改爲COUNT(星號)並獲得相同結果,那麼我敢打賭就是這個問題。 – VBlades