作者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
1F:→ fantasyj:建议您先把Group by 与Distinct的用法彻底了解一下.. 09/28 22:15
2F:→ kidnaper:好的 我会再去看看书和网路的说的说明的!谢谢^^ 09/28 23:07
3F:推 pizzahut:方法1 因为函数不能直接当作SELECT的结果 因此无法执行 10/02 18:01
4F:→ kidnaper:函数无法当!!select的结果!! 恩...谢谢 10/03 10:05