Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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 获取每只哺乳动物携带的水果总量_Mysql_Sql_Stored Procedures - Fatal编程技术网

Mysql 获取每只哺乳动物携带的水果总量

Mysql 获取每只哺乳动物携带的水果总量,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我正在努力解决特定的基于MySQL查询的问题 我有这样的结果集: Table: Report mammal_id mammal_name fruit_name gets | total | 3 rabbit apple 4 | 5 | 3 rabbit carrot 4 | 4 | 3 rabbit

我正在努力解决特定的基于MySQL查询的问题

我有这样的结果集:

Table: Report
 mammal_id    mammal_name   fruit_name   gets  |  total  |
    3         rabbit        apple         4    |    5    |
    3         rabbit        carrot        4    |    4    |
    3         rabbit        cabbage       1    |    3    |
    2         squirrel      nuts          1    |    3    |
    2         squirrel      cabbage       2    |    2    |
    1         chipmunk      nuts          2    |    2    |
    1         chipmunk      apple         1    |    1    |

And I want to filter like this:

Table: Filtered
 mammal_id    mammal_name   fruit_name   has  
    3         rabbit        apple         4
    3         rabbit        carrot        4
    3         rabbit        cabbage       1
    2         squirrel      nuts          1
    2         squirrel      cabbage       2
    1         chipmunk      nuts          2
    1         chipmunk      apple         1
洞的要点是得到每只哺乳动物携带的水果总量

现在我有:

SELECT a.mammal_id, b.mammal_id, a.mammal_name, b.mammal_name, a.fruit_name, b.fruit_name, (b.total - a.total) as has
FROM (SELECT * FROM Report (result set)) as a 
INNER JOIN (SELECT * FROM Report (result set)) as b 
ON a.fruit_name=b.fruit_name WHERE  a.mammal_id = b.mammal_id-1
在这个查询之后,我得到如下结果:

Table: Result
a.mammal_id  b.mammal_id  a.mammal_name  b.mammal_name  a.fruit_name  b.fruit_name  has
   2             3            squirrel      rabbit         cabbage        cabbge     1
   1             2            chipmunk      squirrel       nuts           nuts       1

感谢您对这个问题的任何指导。

下面的查询将为您提供所需的准确输出

SELECT mammal_id, mammal_name, fruit_name, SUM(gets) as has
FROM Report GROUP BY mammal_name, fruit_name

下面的查询应该准确地提供您所需的输出

SELECT mammal_id, mammal_name, fruit_name, SUM(gets) as has
FROM Report GROUP BY mammal_name, fruit_name

要获取每个动物在“获取”列中的项目总数,您需要

SELECT mammal_id, mammal_name, SUM(gets)
FROM Report 
GROUP BY mammal_id, mammal_name

如果这不是你要问的,请澄清问题。

要获取每只动物在“获取”列中的项目总数,你需要

SELECT mammal_id, mammal_name, SUM(gets)
FROM Report 
GROUP BY mammal_id, mammal_name

如果这不是您要问的问题,请澄清问题。

谢谢!比我想象的容易多了。谢谢!比我想象的容易多了。