免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5894 | 回复: 20
打印 上一主题 下一主题

[SQL GROUP BY]一个经典的SQL问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-03 08:55 |只看该作者 |倒序浏览
我有一张表ttt,共有四个字段:

StudentID(学生), ClassID(班级), Mark(考试分数),fen(品德分数)

我想得到每个班级考试60分以上品德70分以上的学生人数,能用一条SQL解决么?

[ 本帖最后由 gqywf 于 2006-3-3 09:07 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-03-03 08:56 |只看该作者
轻松,用group by,详细的看手册
另,不要拿标题搞噘头

[ 本帖最后由 yejr 于 2006-3-3 08:57 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-03-03 08:59 |只看该作者
select StudentID(学生), ClassID(班级), Mark(考试分数) from ttt group by StudentID(学生), ClassID(班级), Mark(考试分数)
where mark > 60

论坛徽章:
0
4 [报告]
发表于 2006-03-03 10:00 |只看该作者
我把问题修正了一下,刚才没打完。

论坛徽章:
0
5 [报告]
发表于 2006-03-03 12:12 |只看该作者
select classid, count(mark) as count from
(
  select classid, mark from s where mark > 60
  union select classid, fen from s where fen > 70
) as tmp
group by classid;

一个思路

[ 本帖最后由 rardge 于 2006-3-3 12:13 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-03-03 14:03 |只看该作者
union 是什么意思,手册里怎么没有?

论坛徽章:
0
7 [报告]
发表于 2006-03-03 14:10 |只看该作者
是不是要mysql 5.0才行啊?

论坛徽章:
0
8 [报告]
发表于 2006-03-03 14:19 |只看该作者
6.4.1.2 UNION 句法

SELECT ...
UNION [ALL]
SELECT ...
  [UNION
   SELECT ...]

UNION 在 MySQL 4.0.0 中被实现。

UNION 用于将多个 SELECT 语句的结果联合到一个结果集中。

在 SELECT 中的 select_expression 部分列出的列必须具有同样的类型。第一个 SELECT 查询中使用的列名将作为结果集的列名返回。

SELECT 命令是一个普通的选择命令,但是有下列的限制:

只有最后一个 SELECT 命令可以有 INTO OUTFILE。
如果你不为 UNION 使用关键词 ALL,所有返回的记录行将是唯一的,就好像你为整个返回集使用了一个 DISTINCT。如果你指定了 ALL,那么你将得到从所有使用的 SELECT 语句中返回的所有匹配记录行。

如果你希望对整个 UNION 结果使用一个 ORDER BY,你应该使用圆括号:

(SELECT a FROM table_name WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM table_name WHERE a=11 AND B=2 ORDER BY a LIMIT 10)
ORDER BY a;

论坛徽章:
0
9 [报告]
发表于 2006-03-03 15:43 |只看该作者
奶奶的,我的手册怎么没有,我去找个新的手册

谢谢了。。。

论坛徽章:
0
10 [报告]
发表于 2006-03-04 08:51 |只看该作者

  1. SELECT COUNT(*),CASE WHEN Mark>60 THEN 1 WHEN fen>70 THEN 2 ELSE 3 END as gid FROM ttt GROUP BY (gid);
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP