作者jimili (影子社社长)
看板Database
标题Re: [SQL ] 请问SQL的演算法
时间Fri Jan 7 00:49:47 2011
※ 引述《Darkc (SUPERORBITAL!)》之铭言:
: 如题,假设有某表A,栏位和值分别为:
: A
: Name G1 G2 G3
: 学生A 70 60 80
: 学生B 70 50 50
: 学生C 80 80 70
: 学生D 50 50 60
: G为"成绩"
: 请问若是想找出"至少有两个成绩>60"的学生
: 有什麽写法吗?
: 我是有想过先比较Name+G1 => 符合条件 => 资料抓出贴至新表格 =>
: 从新表格比较NAME+G2 => 类推
: 但是後来想想这是只有G只有三个栏位下,如果好几栏就玩完了orz
: 不知有无另类的想法呢?
: 烦请回覆,感恩:)
有个比较丑的做法
select name
from
(
select name, count(name) as cnt
from
(
select name, g1 as g
where g1>60
union all
select name, g2 as g
where g2>60
union all
select name, g3 as g
where g3>60
)
group by name
)
where cnt > 2
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 112.105.159.89
1F:推 Darkc:感谢您,比我想的好太多orz 01/07 15:14