如何连接两个SQL查询?

时间:2017-04-16 14:58:40

标签: mysql sql

我正在尝试连接两个引用同一个表的查询。我想知道我在时间范围内获得了多少水果,以及有多少水果不新鲜。

查询1

SELECT COUNT(id) FROM fruits
WHERE date>='2017-04-01' AND date<='2017-04-30'

查询2

SELECT COUNT(id) FROM fruits
WHERE fresh='no'

2 个答案:

答案 0 :(得分:2)

你可以使用CASE表达式(注意:我正在解释他们的#34;&#34;在问题中指的是时间范围内的水果,如果你想要水果,那么一般不会结果general删除where子句并将谓词移动到另一个类似的case表达式中)

SELECT COUNT(id), 
       SUM(CASE WHEN fresh = 'no' THEN 1 ELSE 0 END)
FROM fruits
WHERE date>='2017-04-01' AND date<='2017-04-30'

答案 1 :(得分:0)

我会用:

SELECT COUNT(id) FROM fruits
WHERE date >= '2017-04-01' AND date <= '2017-04-30' AND fresh = 'no';

在查询1和2中,您需要相同的列,并且只想获得两者的交集,因此只需使用&#34; AND&#34;添加到WHERE子句。