作者magiclion (神奇狮子)
看板Database
标题[SQL ] 筛选重复资料加上 SubQuery
时间Tue May 31 11:06:45 2011
DB资讯:PostgreSQL
作业系统:FreeBSD
程式语言:PHP
在一个考试资料表中,我想要找出所有成绩相同的学生并且计算重复数量,
所以我写了:
SELECT grade, COUNT(*) AS count
FROM student
GROUP BY grade
HAVING (COUNT(*) > 1)
运作无误,会显示所有相同成绩的资料,第二栏则显示重复数量。
但是该资料表是将每次测验都写在一起,用栏位 s 区隔,因此必须加入 s 筛选,
所以我加了 SubQuery:
SELECT grade FROM student
WHERE s=3 AND grade IN (
SELECT grade FROM student
GROUP BY grade HAVING (COUNT(*) > 1))
这样运作也是正常的,只是我就无法加入一个 COUNT 栏位来计算重复数量了。
这个 COUNT(*) AS count 不管加在哪里都不对,不知各位先进有无方法可以
让这个 SQL 有加入计算重复数量栏位的功能?
注:用程式语言来计算零难度,我已经用 PHP 计算了,只是想知道有没有办法
直接用 SQL 计算。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.85.144.67
1F:推 bebolee:加在最外围再GROUP BY一次不可以吗? 05/31 13:31