我有两张 table trips_data 作为 tripid, userid, species (int),killcount 具有 species_id 和 speceies(字符串)的 masterspecies
我正在尝试检索旅行中看到的所有物种的列表 我希望得到
sum(killcount) : tripid :species (string):species (int)
57 300 rabbit 1
2 300 foxes 2
1 300 squirels 8
等等
我有以下查询,它返回我想要的所有内容,除了 sum(killcount) 大约是 8000,而它应该是 57。
任何帮助将不胜感激
SELECT sum(trips_data.killcount),
trips_data.species,trips_data.spceces,
masterspecies.species
from trips_data
join masterspecies
WHERE tripid=$tripid
AND userid=1
AND NOT killcount=0
最佳答案
你需要告诉数据库如何加入;否则你会得到所有可能的组合。看起来 trips_data.species 应该匹配 master_species.species_id;是对的吗?您还需要按物种对结果进行分组。
SELECT sum(trips_data.killcount), trips_data.species, masterspecies.species
from trips_data join masterspecies
WHERE tripid=$tripid AND userid=1 and trips_data.species=masterspecies.species_id
group by trips_data.species, masterspecies.species;
关于mysql - 内部连接和 sum(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18746893/