合并两个 SQL 查询的结果
Combine results of two SQL queries
我想将两个查询的结果合并为一个 resulttable
三列,result1
、result2
和 dateday
,查询是矛盾的
SELECT COUNT( DISTINCT `cust` ) AS result1, DATE( `date` ) AS dateday
FROM `salg_test`
WHERE `saved` =0
AND `is_void` =0
GROUP BY dateday
ORDER BY dateday DESC
SELECT COUNT( DISTINCT `cust` ) AS result2, DATE( `date` ) AS dateday
FROM `salg_test`
WHERE `saved` =1
AND `is_void` =0
GROUP BY dateday
ORDER BY dateday DESC
我希望两个结果都按 dateday
变量分组和排序。
怎么样:
WHERE (`saved`= 1 OR `saved`= 0)
或者,如果 saved
的唯一可能值是 1 或 0,则完全从查询中忽略该条件。
应该可以这样做:
SELECT COUNT( DISTINCT CASE `saved` when 0 then `cust` else null end ) AS result1
, COUNT( DISTINCT CASE `saved` when 1 then `cust` else null end ) AS result2
, DATE( `date` ) AS dateday
FROM `salg_test`
WHERE `is_void` =0
GROUP BY dateday
ORDER BY dateday DESC
我想将两个查询的结果合并为一个 resulttable
三列,result1
、result2
和 dateday
,查询是矛盾的
SELECT COUNT( DISTINCT `cust` ) AS result1, DATE( `date` ) AS dateday
FROM `salg_test`
WHERE `saved` =0
AND `is_void` =0
GROUP BY dateday
ORDER BY dateday DESC
SELECT COUNT( DISTINCT `cust` ) AS result2, DATE( `date` ) AS dateday
FROM `salg_test`
WHERE `saved` =1
AND `is_void` =0
GROUP BY dateday
ORDER BY dateday DESC
我希望两个结果都按 dateday
变量分组和排序。
怎么样:
WHERE (`saved`= 1 OR `saved`= 0)
或者,如果 saved
的唯一可能值是 1 或 0,则完全从查询中忽略该条件。
应该可以这样做:
SELECT COUNT( DISTINCT CASE `saved` when 0 then `cust` else null end ) AS result1
, COUNT( DISTINCT CASE `saved` when 1 then `cust` else null end ) AS result2
, DATE( `date` ) AS dateday
FROM `salg_test`
WHERE `is_void` =0
GROUP BY dateday
ORDER BY dateday DESC