Mysql 如何连接两个sql查询?
我正在尝试连接指向同一个表的两个查询。我想知道在这个时间范围内我得到了多少水果,其中有多少是不新鲜的 问题1Mysql 如何连接两个sql查询?,mysql,sql,Mysql,Sql,我正在尝试连接指向同一个表的两个查询。我想知道在这个时间范围内我得到了多少水果,其中有多少是不新鲜的 问题1 SELECT COUNT(id) FROM fruits WHERE date>='2017-04-01' AND date<='2017-04-30' 您可以使用CASE表达式(注意:我将问题中的“of themes”解释为指时间范围内的水果,而不是一般的水果,如果您希望水果一般删除where子句并将谓词移动到另一个类似的CASE表达式中) 选择计数(id), 总和(如果
SELECT COUNT(id) FROM fruits
WHERE date>='2017-04-01' AND date<='2017-04-30'
您可以使用
CASE
表达式(注意:我将问题中的“of themes”解释为指时间范围内的水果,而不是一般的水果,如果您希望水果一般删除where子句并将谓词移动到另一个类似的CASE表达式中)
选择计数(id),
总和(如果新鲜='no',则为1,否则为0结束)
来自水果
其中日期>='2017-04-01'和日期我将使用:
SELECT COUNT(id) FROM fruits
WHERE date >= '2017-04-01' AND date <= '2017-04-30' AND fresh = 'no';
从水果中选择计数(id)
其中日期>='2017-04-01'和日期时间范围内不新鲜的数字?或者一般情况下?在时间范围内。不需要使用casefresh='No'
就足够了。@WillemVanOnsem,它在MySQL中工作,但不可移植。这将只计算时间范围内的所有坏结果。我很确定Wiskoza想要时间范围内的水果总量,但也要知道其中有多少不是新鲜的。你的答案遗漏了总数。对不起,我误解了这个问题
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'
SELECT COUNT(id) FROM fruits
WHERE date >= '2017-04-01' AND date <= '2017-04-30' AND fresh = 'no';