作者bobju (宝贝猪)
看板Database
标题Re: [SQL ] 如何有条件筛选资料表
时间Wed Apr 22 20:39:14 2009
我提以下的写法, 或许看起来不怎麽smart, 但测试过
确定能run, 结果也符合预期.
select type, count(*), sum(cost)
from tbl
where ID in(select ID from tbl where type='A')
and ID in(select ID from tbl where type='B')
group by type;
※ 引述《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
: group by type;
: 但现在我想要过滤掉同一个 ID 下只有一种 type 的资料,
: 以上面的表来说就是踢掉 ID 为 445 的两笔资料,
: 因为他的 type 就只有一个 B 而已,
: 也就是想要只保留同一个 ID 下至少有两种 type 的资料~!
: 不知道像这样的情形 SQL 语法可以做到吗??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.186.105
1F:推 KnightX:感谢 bobju 提供的方法!我都忘了可以土法炼钢硬做... Orz 04/23 11:30