求一个SQL语句

新手上路,请多包涵

Name Class Score
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90

  1. 用一条SQL语句查询除李四以外,语文成绩最低的学生Name
select Name from (select Name,min(Score) from table where Name<>'李四' and Score = '语文') tmp

查询的结果只有张三,可是表中是张三和王五的是并列的,应该怎么修改

阅读 3k
4 个回答

SELECT name FROM scores WHERE score = (SELECT MIN(score) FROM scores WHERE name <> '李四' and class = '语文') and name <> '李四' and class = '语文'

感觉有点长,没想到更好的方法。

SELECT Name FROM table WHERE Score = (SELECT MIN(Score) FROM table WHERE Class = '语文') AND Name <> '李四' AND Class = '语文';

select name from
student2 where subject = "语文" and score in
(select min(score) from student2 where name != "李四");

新手上路,请多包涵
SELECT
  t.name
FROM
  table as t
WHERE
  t.name!='李四' and t.score=
                         (SELECT
                            min(t.score)
                          FROM
                            table as t
                          WHERE
                            t.subject='语文')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题