Mysql 获取每只哺乳动物携带的水果总量
我正在努力解决特定的基于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
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
如果这不是您要问的问题,请澄清问题。谢谢!比我想象的容易多了。谢谢!比我想象的容易多了。