获得正确的查询

时间:2016-04-18 20:39:59

标签: mysql

table

我有这张桌子, 我试图获得一个查询,以显示邮政编码一次然后将列标题作为特定的动物。我尝试使用这个案例查询,但它没有给我我想要的东西(我做了一个简短版本,以便我在测试时不会输入所有内容)

select 
  zipcode, 
  case animal when 'dog' then count when 'lizard' then count else 'null' end as animal 
from test1 
order by zipcode;

2 个答案:

答案 0 :(得分:1)

selected是正确的方法,但您需要聚合,以及许多单独的<option>语句。如上所述,您有一个case语句,这意味着结果集中有一个字段。

相反:

CASE

您必须为每只动物制作Case,因此每个动物都会在结果集中拥有自己的字段。此外,select zipcode, Sum(CASE WHEN animal= 'dog' THEN count END) as "Dog", SUM(CASE WHEN animal = 'Lizard' THEN count END) as "Lizard", etc.. from test1 GROUP BY zipcode order by zipcode; 是必要的,这样每个邮政编码的每个动物都会获得Sum(Case...)

答案 1 :(得分:0)

也许尝试这样的事情:

select zipcode,
IF (animal='dog', count, 0) as dog,
IF (animal='lizard', count, 0) as lizard
from test1 GROUP by zipcode ORDER by zipcode