sql问题
我的表格如下:
id | Animal | country | gender | qty
1 | cow | USA | male | 6
2 | cow | PHP | female | 8
3 | cow | USA | male | 7
4 | cow | JPN | male | 6
5 | cow | USA | female | 5
如何制作像
这样的结果 | Animal | country | gender | qty
| cow | USA | | 18 (sumqty for cow from USA)
| cow | PHP | female | 8
| cow | JPN | male | 6
如果动物是相同的,同一个国家,总和(数量)并留下空性别,因为它混合了男性和女性。
我使用这样的代码
SELECT *,sum(qty) as sqty FROM myTable GROUP BY animal,country
但是当echo ['gender']显示最后一个值(#5)时的结果 如何使它工作? 不,我有很多动物。像鸡,鸭等。
答案 0 :(得分:1)
您可以使用case
语句来执行您想要的操作。当你希望age
为空时,有点不清楚,但是:
select animal, country,
(case when min(age) = max(age) then min(age) end) as age,
sum(qty)
from myTable
group by animal, country;