倒序
得出你要的結果Oracle 11g R2 Schema Setup:
CREATE TABLE T
(StudentName nvarchar2(50), Country nvarchar2(50))
;
INSERT ALL
INTO T (StudentName, Country)
VALUES (N'小明', N'巴黎')
INTO T (StudentName, Country)
VALUES (N'小明', N'巴黎')
INTO T (StudentName, Country)
VALUES (N'小明', N'美國')
INTO T (StudentName, Country)
VALUES (N'小王', N'日本')
INTO T (StudentName, Country)
VALUES (N'小美', N'巴黎')
INTO T (StudentName, Country)
VALUES (N'小美', N'日本')
INTO T (StudentName, Country)
VALUES (N'小王', N'中國')
INTO T (StudentName, Country)
VALUES (N'小美', N'巴黎')
INTO T (StudentName, Country)
VALUES (N'小美', N'日本')
INTO T (StudentName, Country)
VALUES (N'小明', N'巴黎')
INTO T (StudentName, Country)
VALUES (N'小王', N'中國')
INTO T (StudentName, Country)
VALUES (N'小美', N'美國')
SELECT * FROM dual
;
Query 1:
select rank() over (partition by StudentName order by count(1) desc) 次數排名
,StudentName as 學生
,Country as 去過的地方
,count(1) as 次數 from T
group by StudentName,Country
| 次數排名 | 學生 | 去過的地方 | 次數 |
|------|----|-------|----|
| 1 | 小明 | 巴黎 | 3 |
| 2 | 小明 | 美國 | 1 |
| 1 | 小王 | 中國 | 2 |
| 2 | 小王 | 日本 | 1 |
| 1 | 小美 | 日本 | 2 |
| 1 | 小美 | 巴黎 | 2 |
| 3 | 小美 | 美國 | 1 |