基于下面的数据集,如何在下一列中获得排名?
create table testrank(column_val varchar(10), rank_val integer);
insert into testrank(column_val)
values
('OH3'),
('OH3'),
('IH3'),
('OH1'),
('OH1'),
('IH1'),
('IH1'),
('IH3'),
('IH3'),
('OH3'),
('OH3'),
('OH3'),
('OH3');
Expected result
column Rank
OH3 3
OH3 3
IH3 3
OH1 2
OH1 2
IH1 2
IH1 2
IH3 1
IH3 1
OH3 1
OH3 1
OH3 1
OH3 1
我可以看到数据模式没有什么不同。在这种情况下,数据顺序不应更改。
答案 0 :(得分:2)
插入rank_val列的值,然后可以使用以下查询列出排名
select column_val as column,rank_val as rank from testrank;
您可以使用以下查询对输出进行排序
select column_val as column,rank_val as rank from testrank order by rank_val desc;
答案 1 :(得分:0)
我不太了解这个问题。你是这个意思吗?
SELECT column_val,
rank_val AS Rank
FROM testrank;
如果要订购,可以使用ORDER BY <expression> [ASC|DESC]
如果这样做没有帮助,请描述您要实现的目标和尝试的目标