作者grence (多想两分钟 = =")
看板Database
标题Re: [SQL ] 如何有条件筛选资料表
时间Wed Apr 22 20:21:33 2009
※ 引述《KnightX (........)》之铭言:
: 昨天被板主误删, 容我再 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
where id in (
SELECT id
FROM table
GROUP BY id
having count(distinct TYPE)>1
)
: group by type;
在 mysql 5.1.33测试
: 但现在我想要过滤掉同一个 ID 下只有一种 type 的资料,
: 以上面的表来说就是踢掉 ID 为 445 的两笔资料,
: 因为他的 type 就只有一个 B 而已,
: 也就是想要只保留同一个 ID 下至少有两种 type 的资料~!
: 不知道像这样的情形 SQL 语法可以做到吗??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.193.203
※ 编辑: grence 来自: 61.229.193.203 (04/22 20:26)
1F:推 KnightX:测试 OK! 感谢 grence 提供的方法~! 04/23 11:25