作者kidnaper (弗卡夏)
看板Database
標題[SQL ]計算群組的個數(count&group by)!!
時間Wed Sep 28 11:23:21 2011
大家好~~小弟有一個語法想請各位幫我看看怎麼修改!!
我有一個表格
TABLE
I1 I2 I3 M
A B C 0
A B C 0
A B J 0
A J E 1
A D J 1
我想要找各個M的個數(group by),最後要查詢結果要包含I1~I3和M
結果
I1 I2 I3 M count(*)
A B C 0 3 <-- M中0總共出現三次
A B J 0 3
A J E 1 2
A D J 1 2
這就像是M是幾個不同的桶子 我把一堆東西投進去,東西中可能有相同重複的東西
但是相同的東西"都會投到相同的桶子"裡,就會形成項TABLE這樣的結果
然後呢我有興趣的是 超過三個東西的桶子和裡面的項目,
所以最後我要查詢出的是 M號桶裝載程度 裝載的內容物有哪些
語法:
方法1
select I1,I2,I3,M,count(M) from TABLE group by M <--無法執行~"~
方法2:
select M,count(M) AS C into Table_2 in 'XXX.mdb' from TABLE group by M
<--先計算出M桶的數量 並另存新檔
select Distinct TABLE.I1,TABLE.I2,TABLE.I3,TABLE.M,TABLE_2.C from TBALE,TABLE_2
where TABLE.M=TABLE_2.M
<--按照相同的M把剛剛另存的數量key進去!! 如果WHERE後在加上TABLE.C>3
就可以直接找出上述的結果!!
我想問的是!!方法2是我目前的解決辦法!!但我想問問有沒有更快的辦法可以
產生一樣的結果!!
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.26.137
→ fantasyj:建議您先把Group by 與Distinct的用法徹底了解一下.. 09/28 22:15
→ kidnaper:好的 我會再去看看書和網路的說的說明的!謝謝^^ 09/28 23:07
推 pizzahut:方法1 因為函數不能直接當作SELECT的結果 因此無法執行 10/02 18:01
→ kidnaper:函數無法當!!select的結果!! 恩...謝謝 10/03 10:05