如果SQL值不同,则左侧为空

时间:2015-08-11 01:13:29

标签: mysql

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)时的结果 如何使它工作? 不,我有很多动物。像鸡,鸭等。

1 个答案:

答案 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;