目前,我有以下结果:从表与一些ID的多行选择,与标识值
ID Location
1 NYC
1 LA
2 NYC
3 PIT
,我想以下几点:
ID Location
1 Multiple
2 NYC
3 PIT
有谁知道的简单的方法来完成这一点?
目前,我有以下结果:从表与一些ID的多行选择,与标识值
ID Location
1 NYC
1 LA
2 NYC
3 PIT
,我想以下几点:
ID Location
1 Multiple
2 NYC
3 PIT
有谁知道的简单的方法来完成这一点?
下面是使用case
与count
和distinct
做到这一点的一种方法:
select distinct id,
case when count(location) over (partition by id) > 1
then 'Multiple' else location end Location
from yourtable
随着sub-query
,COUNT
,CASE
,GROUP BY
:
SELECT mm.id, CASE WHEN mm.count > 1 THEN 'Multiple' ELSE loc END As Location
FROM
(SELECT COUNT(id) As count, id, MAX(location) As loc
FROM myTable
GROUP BY id) As mm;
select ID,case when MIN(name) = MAX(name) then MIN(name) else 'multiple' end as Location
from <your tabel name>
group by id
你有没有尝试自己解决呢? –