Mysql 什么是+&引用;符号表示在SQL中的排名?
+1是什么意思?该查询试图对每门课程的第二名和第三名学生及其成绩进行排名Mysql 什么是+&引用;符号表示在SQL中的排名?,mysql,sql,data-science,Mysql,Sql,Data Science,+1是什么意思?该查询试图对每门课程的第二名和第三名学生及其成绩进行排名 谢谢这只是加法运算符(plus) 因此,它在子查询返回的结果中添加1。它之所以有效,是因为子查询总是返回一个整数,因为它是一个计数(*),没有分组依据 SELECT a.* ,b.* FROM (SELECT b.s ,b.C ,b.score ,(SELECT COUNT(*) FROM sc a WHERE a.c='01'AND a.score>b.score)+1 mc FROM sc b WHERE b.
谢谢这只是加法运算符(plus) 因此,它在子查询返回的结果中添加1。它之所以有效,是因为子查询总是返回一个整数,因为它是一个计数(*),没有分组依据
SELECT
a.*
,b.*
FROM
(SELECT b.s ,b.C ,b.score
,(SELECT COUNT(*) FROM sc a WHERE a.c='01'AND a.score>b.score)+1 mc
FROM sc b WHERE b.c='01' HAVING mc BETWEEN 2 AND 3
如果子查询运行的计数为0,则mc
列将为0+1=1
此外,您的查询格式不正确:您有一个
HAVING
子句,但没有GROUP BY
子句,它将向(SELECT COUNT(*)…b.score)添加1。此查询是否运行平稳?a.score>b.score是如何工作的?“a”和“b”都是“sc”,我试图让学生获得第二和第三高分。它如何计算数字?当课程相同时,它如何将“分数”与“分数”本身进行比较
(SELECT COUNT(*) FROM sc a WHERE a.c='01'AND a.score>b.score)