SQL多条件查询

puffer1 2013-04-25 09:09:09
有一个表T,里边有这样的字段
name lesson score
a 数学 59
b 语文 89
a 语文 67
b 数学 68
c 语文 98

求一条语句 查出每个人最高的哪一门课程或者分数
...全文
563 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq1qazxsw2 2013-11-20
  • 打赏
  • 举报
回复
如果成绩相同的两门随机返回一门,还可以这样: select name,lesson,max(score) from t group by name;
qq1qazxsw2 2013-11-20
  • 打赏
  • 举报
回复
以上有错误还须進行修改:即两门科成绩相同的情况,会不返回。还是楼主考虑周全。 SELECT * FROM T A WHERE EXISTS(SELECT 1 FROM T WHERE A.NAME=NAME AND A.SCORE >=SCORE ); 不能正常工作,按版主的反其道而行之(成绩相同的两门科都会返回): SELECT * FROM T A WHERE not EXISTS(SELECT 1 FROM T WHERE A.NAME=NAME AND A.SCORE <SCORE );
qq1qazxsw2 2013-11-20
  • 打赏
  • 举报
回复
SELECT * FROM T A WHERE EXISTS(SELECT 1 FROM T WHERE A.NAME=NAME AND A.SCORE >SCORE ); 参照版主的進行了修改。
wwwwb 2013-04-26
  • 打赏
  • 举报
回复
SELECT * FROM TT A WHERE NOT EXISTS(SELECT 1 FROM TT WHERE A.NAME=NAME AND A.SCORE<SCORE )
ACMAIN_CHM 2013-04-25
  • 打赏
  • 举报
回复
猜不出楼主用的是什么数据库。

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧