SELECT
SUM( IFNULL( r.read_total, 0 ) ) AS ReadCount,
SUM( IFNULL( r.get_total, 0 ) ) AS GetCount
FROM
report_promote_detail AS r
LEFT JOIN pl_promote AS p ON r.promote_id =
p.id WHERE
r.planet_id = 45
AND
r.date GROUP BY
r.promote_id
ORDER BY
ReadCount + GetCount DESC
以上代码,使用两个数的和进行排序结果不对
目前可以有两种方式解决这个问题
1 、
ReadCount + GetCount 换成 SUM( IFNULL( r.read_total, 0 ) ) +SUM( IFNULL( r.get_total, 0 ) )
排序结果是正确的
2 、
SELECT 中 SUM( IFNULL( r.read_total, 0 ) ) +SUM( IFNULL( r.get_total, 0 ) ) AS Total ...... ORDER BY Total DESC
这个结果也没问题
请教下这个是什么情况,为啥两个别名相加不行呢?(之前也这样做过,但是可以,猜测是因为 SUM 函数或者 GROUP BY ?)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/755835
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.