Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 什么是+&引用;符号表示在SQL中的排名?_Mysql_Sql_Data Science - Fatal编程技术网

Mysql 什么是+&引用;符号表示在SQL中的排名?

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.

+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.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)