作者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
1F:推 PsMonkey:先 subquery 吧 04/22 12:29
2F:推 rushcat:GROUP BY ID, TYPE HAVING COUNT(*) > 1 试试看 04/22 12:32
3F:→ KnightX:楼上方法我之前试过, 无法真正保留至少有 A 跟 B 的资料.. 04/22 13:34
4F:→ KnightX:另外也感谢 cutecpu 大的水球讨论与信件教学... 04/22 13:50