我创建了一个表,看起来像这样:
| UID|城市|类型,类型|宠物|宠物计数|
| - -----|- -----|- -----|- -----|- -----|
| 1|巴黎|房屋||1|
| 2|巴黎|公寓|猫|猫|1|
| 3|伦敦|联排别墅|狗,鸟|2|
| 4|伦敦|树屋|鹰,鱼,仓鼠|3|
| 5个|伦敦|商队|象|1|
| 六|伦敦|小艇||1|
我从下面的查询中得到了这个表:
SELECT uid, city, type, group_concat(o.animals) as pets, count(*) as pet_count
我的目标是建立一个表格,列出每种独特类型的房屋及其所在城市,然后将其宠物连接到一个字段中,然后计算这些宠物。
这就是我所期待的
| UID|城市|类型,类型|宠物|宠物计数|
| - -----|- -----|- -----|- -----|- -----|
| 1|巴黎|房屋||0|
| 2|巴黎|公寓|猫|猫|1|
| 3|伦敦|联排别墅|狗,鸟|2|
| 4|伦敦|树屋|鹰,鱼,仓鼠|3|
| 5个|伦敦|商队|象|1|
| 六|伦敦|小艇|||
我遇到的问题是,计数总是返回1,即使没有计数所有者。我做错了什么?
1条答案
按热度按时间pnwntuvh1#
sum()
与case
子句组合使用如下:条件也可以是
o.animals <> ''
,具体取决于您的值是空还是空。