oracle数据库,以一个字段分组后,另一个字段在组内出现的频率。
例如有如下表t:姓名城市张三北京李四北京张三北京李四北京张三北京王五上海赵六上海张三上海以城市分组后,姓名在组内出现的次数:姓名城市出现的次数张三北京3李四北京2王五上海...
例如有如下表t:
姓名 城市
张三 北京
李四 北京
张三 北京
李四 北京
张三 北京
王五 上海
赵六 上海
张三 上海
以城市分组后,姓名在组内出现的次数:
姓名 城市 出现的次数
张三 北京 3
李四 北京 2
王五 上海 1
赵六 上海 1
张三 上海 1
如何写pl/sql语句?
我用:
select 姓名,城市,count(*) 出现的次数 from t group by 城市,姓名
有没有更好的办法? 展开
姓名 城市
张三 北京
李四 北京
张三 北京
李四 北京
张三 北京
王五 上海
赵六 上海
张三 上海
以城市分组后,姓名在组内出现的次数:
姓名 城市 出现的次数
张三 北京 3
李四 北京 2
王五 上海 1
赵六 上海 1
张三 上海 1
如何写pl/sql语句?
我用:
select 姓名,城市,count(*) 出现的次数 from t group by 城市,姓名
有没有更好的办法? 展开
2个回答
推荐于2017-08-15
展开全部
SELECT *
FROM (SELECT T2.*, ROW_NUMBER()
OVER(PARTITION BY MAE_NAME ORDER BY TIME_STAMP_END DESC) AS RN2 FROM
(SELECT T1.*,
ROW_NUMBER() OVER(PARTITION BY MAE_NAME, PRODUCT, OP, VERSION ORDER BY TIME_STAMP_END DESC) AS RN1
FROM CONDITION_CSV T1) WHERE RN1 = 1) T2
WHERE RN2 < 11
FROM (SELECT T2.*, ROW_NUMBER()
OVER(PARTITION BY MAE_NAME ORDER BY TIME_STAMP_END DESC) AS RN2 FROM
(SELECT T1.*,
ROW_NUMBER() OVER(PARTITION BY MAE_NAME, PRODUCT, OP, VERSION ORDER BY TIME_STAMP_END DESC) AS RN1
FROM CONDITION_CSV T1) WHERE RN1 = 1) T2
WHERE RN2 < 11
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询