Re: [SQL ]計算群組的個數(count&group by)!!
SELECT T1.I1,T1.I2,T1.I3,T2.M,T2.CNT
FROM TABLE T1,(
SELECT M,COUNT(*) AS CNT
FROM TABLE
GROUP BY M
) T2
WHERE T1.M = T2.M AND T2.CNT > 3
GROUP BY I1,I2,I3,T2.M,T2.CNT
※ 引述《kidnaper (弗卡夏)》之銘言:
: 大家好~~小弟有一個語法想請各位幫我看看怎麼修改!!
: 我有一個表格
: 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: 210.59.164.109
推
10/01 00:06, , 1F
10/01 00:06, 1F
討論串 (同標題文章)