作者KnightX (........)
看板Database
標題[SQL ] 如何有條件篩選資料表
時間Wed Apr 22 11:07:10 2009
昨天被板主誤刪, 容我再 po 一次... Orz
想請教一下各位前輩, 我用的資料庫是 MySQL,
假設我有一個資料表如下:
no ID type cost
----------------------
1 123 A 100
2 123 B 150
3 445 B 150
4 445 B 150
5 677 A 100
6 677 B 150
7 677 B 150
. . . .
. . . .
----------------------
我要看不同 type 的摘要資訊的話, 只要打
select type, count(*), sum(cost)
from table
group by type;
但現在我想要過濾掉同一個 ID 下只有一種 type 的資料,
以上面的表來說就是踢掉 ID 為 445 的兩筆資料,
因為他的 type 就只有一個 B 而已,
也就是想要只保留同一個 ID 下至少有兩種 type 的資料~!
不知道像這樣的情形 SQL 語法可以做到嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.241.14.158
推 PsMonkey:先 subquery 吧 04/22 12:29
推 rushcat:GROUP BY ID, TYPE HAVING COUNT(*) > 1 試試看 04/22 12:32
→ KnightX:樓上方法我之前試過, 無法真正保留至少有 A 跟 B 的資料.. 04/22 13:34
→ KnightX:另外也感謝 cutecpu 大的水球討論與信件教學... 04/22 13:50