我有这张桌子, 我试图获得一个查询,以显示邮政编码一次然后将列标题作为特定的动物。我尝试使用这个案例查询,但它没有给我我想要的东西(我做了一个简短版本,以便我在测试时不会输入所有内容)
select
zipcode,
case animal when 'dog' then count when 'lizard' then count else 'null' end as animal
from test1
order by zipcode;
答案 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