菜鸟一个,求各位大牛解答。
问题如下:
有一张表,表名为status;假设status表(里面有重复项)内容如下:
列名: a lon lat
1 11 12
2 10 11
3 9 10
1 11 12
我想先统计a字段下各项的出现次数,并把lon,lat项也显示出来。
想得到结果如下:
a 出现次数 lon lat
1 2 11 12
2 1 10 11
3 1 9 10
------解决思路----------------------
with temp as
(
select a, count(*) 出现次数
from status
group by a
)
select temp.*, t. lon, t.lat
from temp
inner join (select distinct * from status) t on t.a = temp.a
------解决思路----------------------
Temp是cte表格名,就是后面括号中选取的数据,放入这个temp表格
意义上类似于一个subselect,但是调用更方便,灵活
------解决思路----------------------
select distinct * from status
,(select a,count(a) as 出现次数 from status group by a) as b where status.a=b.a