Mysql - 从两个表中选择两个值

时间:2014-11-02 10:51:49

标签: mysql

我无法理解为什么我的查询

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

你知道吗,我的查询有什么问题?

3 个答案:

答案 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`)