Mysql 单表查询各班级总分前三名

Mysql 单表查询各班级总分前三名,第1张

select class,total,name from (select *,ywsc+sxsc as total from st ORDER BY total DESC) b

where

not EXISTS(select * from (select *,ywsc+sxsc as total from st ORDER BY total DESC) c where c.class=b.class and b.total <c.total GROUP BY c.class HAVING COUNT(*)>2 )

ORDER BY b.class,b.total DESC

例如你的数字字段有a、b、c、d,需要查询时显示那么之和,并按综合排序,SQL语句可以这样写:

SELECT a+b+c+d, a, b, c, d FROM 表名 ORDER BY 1

上面的例子典型的应用是学生成绩计算总分,其实可以加总和,也可以部分字段减,例如a+b+c-d,例如用来计算工资等。

对于你补充的例子,我修改你的SQL语句为:

$result = mysql_query("SELECT info1+info2,* FROM stats ORDER BY 1,data2 DESC LIMIT 20")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8734675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存