我一直试图排序我的SQL查询的结果,但它没有正常工作,我尝试过其他解决方案,但没有工作,参考链接
我的查询
SELECT tournament_entry.TE_club, MAX(tournament_entry.TE_pegion) As TE_pegion,
concat(
floor(SUM(TIME_TO_SEC(tournament_entry.TE_flytime))/3600),':',
floor(SUM( TIME_TO_SEC(tournament_entry.TE_flytime))/60)%60,':',
SUM(TIME_TO_SEC(tournament_entry.TE_flytime))%60) as TE_flytime
FROM tournament_entry
WHERE tournament_entry.TE_tournament = '$Tname'
GROUP BY TE_club
ORDER BY TE_flytime DESC
点1,我已经使用CONCAT(),原因显示时间总和大于838:59:59的参考链接
接着执行步骤1,
ORDER BY TE_flytime ASC
结果,这是不正确的
接着是第2步,
ORDER BY TE_flytime DESC
结果,不正确,在这种方式下它采取大于1000的结果到底部(最后),也许如果有任何逻辑或方式使用和它将排序适当。
接着是第3步,
ORDER BY 'cast(TE_flytime as float) time'
结果,不正确,把所有结果都搞混了。 参考链接
注意:我想以这样一种方式对它进行排序,它在顶部显示最大的结果,依此类推
例如
1034:46:0
1027:4:0
965:37:0
809:11:0
计算列TE_FlyTime
是一个字符串,因此如果按该列排序,将按字母顺序排序。
您可以按总秒数排序:
ORDER BY SUM(TIME_TO_SEC(tournament_entry.TE_flytime)) DESC