即使包含当前行(marks)值,也应该不重要;因为在这种情况下abs(差)将为0,并且不会影响和。 总之,在您的例子中,一个简单的“自连接”使用条件 t1.roll_no <> t2.roll_no 应该足够了 Group By :
SELECT
t1.roll_no,
t1.marks,
SUM(ABS(t1.marks - t2.marks)) AS sum_abs_difference
FROM
your_table_name AS t1
JOIN your_table_name AS t2
ON t2.roll_no <> t1.roll_no
GROUP BY t1.roll_no, t1.marks
4条答案
按热度按时间u1ehiz5o1#
->按abs(60-50)+abs(60-70)==20计算
3 70
33qvvth12#
->按abs(70-50)+abs(70-60)==30计算
我们要计算每个学生的总分之和。
qc6wkl3g3#
即使包含当前行(marks)值,也应该不重要;因为在这种情况下abs(差)将为0,并且不会影响和。
总之,在您的例子中,一个简单的“自连接”使用条件
t1.roll_no <> t2.roll_no
应该足够了Group By
:bmp9r5qi4#
->按abs(50-60)+abs(50-70)==30计算
2 60