Php 当另一列为空时,如何在mysql列中显示结果?
我有以下疑问:Php 当另一列为空时,如何在mysql列中显示结果?,php,mysql,select,Php,Mysql,Select,我有以下疑问: SELECT (IFNULL(daily_clicks, 0)), (IFNULL(daily_score, 0)), (SELECT SUM(`daily_score`) FROM `user_score` `n`) AS total FROM `user_score` `t` WHERE `userid`="123123" AND t.created='2015-06-27' LIMIT 1; 如果我将日期更改为数据存在的位置,我会看到用户的
SELECT
(IFNULL(daily_clicks, 0)),
(IFNULL(daily_score, 0)),
(SELECT SUM(`daily_score`) FROM `user_score` `n`) AS total
FROM
`user_score` `t` WHERE `userid`="123123" AND t.created='2015-06-27' LIMIT 1;
如果我将日期更改为数据存在的位置,我会看到用户的总分数,但当我选择该特定日期没有结果的位置时,我将一无所获(即使在总和中)
即使其他列不显示,如何使“总和”列显示?
Thx如果日期不存在,则查询不返回任何行 一种方法是使用聚合:
SELECT coalesce(sum(daily_clicks), 0),
coalesce(sum(daily_score), 0)
FROM `user_score` `t`
WHERE `userid` = 123123 AND t.created = '2015-06-27';
这将保证返回一行,即使没有匹配项。如果您希望每天单击每个按钮,可以使用组concat()
:
这仍然返回一行,但在一列中串联了多个每日单击值
SELECT group_concat(daily_clicks),
coalesce(sum(daily_score), 0)
FROM `user_score` `t`
WHERE `userid` = 123123 AND t.created = '2015-06-27';