1

假设我有下表:

Name - Country - Age
--------------------
Toto - Switzerland - 10
Titi - France - 12
Tata - Italy - 21
Tutu - England - 13
Tete - Italy - 14

我想创建一个sql query尽可能简单的方法来重新组合生活在定义的分组国家的人们,例如:

A组=瑞士+意大利B组=法国+英格兰

我不知道如何创建一个可以在同一组中有多个不同的groupwithn my ...recordscolumnvalues

有人可以帮我吗?

更多信息:SQL Server 2008 database

4

2 回答 2

4

你的意思是这样吗?

SELECT COUNT(Name), GroupA, GroupB FROM
   (`SELECT Name, Country, Age,
   Country='Switzerland' OR Country='Italy' As GroupA,
   Country='France' OR Country='England' As GroupB)
Group By GroupA, GroupB
于 2012-05-25T06:00:15.917 回答
2
             Select * from (select *,case when Country ='Switzerland' then 'A'
                         when Country ='Italy' then 'A'  
                         when Country ='France' then 'B'  
                         when Country ='England' then 'B'  
                    else 'C' end) classification from table1)
         order by classification

这将根据您的标准对 ppl 进行分组。如果这个分组是静态的,你可以有单独的表并使用内部连接。这将使查询更具可读性

于 2012-05-25T05:59:09.780 回答