Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何连接两个sql查询?_Mysql_Sql - Fatal编程技术网

Mysql 如何连接两个sql查询?

Mysql 如何连接两个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), 总和(如果

我正在尝试连接指向同一个表的两个查询。我想知道在这个时间范围内我得到了多少水果,其中有多少是不新鲜的

问题1

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'和日期时间范围内不新鲜的数字?或者一般情况下?在时间范围内。不需要使用case
fresh='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';