按行的总和对结果进行排序

时间:2015-07-05 22:28:16

标签: mysql database sum

下面的查询按日期排序结果而不是count1, count2, count3, count4的总和。

我现在已经搞砸了一段时间了,似乎无处可去。

SELECT date, (count1 + count2 + count3 + count4) AS total
FROM TABLE 
ORDER BY total DESC
LIMIT 0,100;

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我不确定你的表定义是什么,但尝试一下

SELECT date, ( IFNULL(Count1,0) + IFNULL(Count2,0) + IFNULL(Count3,0) + IFNULL(Count4,0)) as TOTAL
FROM TABLE
GROUP BY data
ORDER BY ( IFNULL(Count1,0) + IFNULL(Count2,0) + IFNULL(Count3,0) + IFNULL(Count4,0)) DESC
LIMIT 0,100;

<强> EDITED

问题是NULL不是一个值,当你尝试向一个数字添加NULL时,你总是会得到NULL。

要对此进行测试,您可以执行此操作

SELECT 1 + null;  -- this will return NULL

您可以使列不能为空并使默认值为0,然后您不必再检查NULL。