我无法理解为什么我的查询
SELECT SUM(DATE(date) = '2014-11-2') AS `rate` FROM `ratings` UNION SELECT COUNT(*) AS `users` FROM `user`
不会创建两个值 - 率,用户在查询中但只有一个 - 率 - 有两个值。
结果:
rate
6
10
预期结果:
rate users
6 10
你知道吗,我的查询有什么问题?
答案 0 :(得分:1)
因为工会习惯于收集'从不同查询到几个结果集的几行:
这样的事情可能会起到作用:
SELECT (SUM(DATE(date) = '2014-11-2') AS `rate` FROM `ratings`)
, (COUNT(*) AS `users` FROM `user`)
这有用吗?
答案 1 :(得分:1)
您应该使用 JOIN 而不是 UNION 。
根据您分享的信息和您想要实现的结果,您的查询可能如下所示:
SELECT SUM(DATE(date) = '2014-11-2') AS `rate`, (
SELECT COUNT(*) FROM `user`
) AS `users`
FROM `ratings`
......但是太过桌子之间缺乏一些关系/条件
答案 2 :(得分:0)
SELECT (COUNT(DATE(date) = '2014-11-2') AS `rate`
FROM `ratings`), (COUNT(*) AS `users` FROM `user`)