我试图使用IFNULL来替换ROLLUP返回的NULL字段的小计和总计,但它似乎没有工作.
查询:
select IFNULL(usergroups.name, 'GROUP') AS DEALER,
IFNULL(users.name, 'TOTAL') AS SERVICE_ADVISOR,
COUNT(DISTINCT vcrs.uid) AS COMPLETED,
..........
..........
and vcrs.vcrSubStatus = 4
group by DEALER, SERVICE_ADVISOR with ROLLUP;
Run Code Online (Sandbox Code Playgroud)
输出:
DEALER SERVICE_ADVISOR COMPLETED IDENTIFIED AUTHORISED
Aston Martin Chris 3 664.56 0
Aston Martin Graham 6 0 0
Aston Martin (NULL) 15 664.56 0
Bentley Sukraj 1 0 0
Bentley Terry 4 0 0
Bentley (NULL) 5 0 0
Jaguar Emma 10 2448 1224
Jaguar Paul 1 0 0
Jaguar Simon 7 2754 …Run Code Online (Sandbox Code Playgroud) 我试图离开外连接2表:TABLE1包含用户列表,TABLE2包含用户完成的表单列表.我想显示用户在给定日期之后创建的表单计数,其中status等于COMPLETED.
以下查询正在运行但不显示NULL值(我需要):
select TABLE1.USERNAME, count(TABLE2.FORMS)
from TABLE1
left outer join TABLE2 on (TABLE2.USERID = TABLE1.USERID)
and TABLE2.STATUS = COMPLETED
where TABLE2.DATE > 20140801
group by TABLE1.USERNAME;
Run Code Online (Sandbox Code Playgroud)
我需要做什么来包含NULL计数的用户,即TABLE2中没有表单?
谢谢