好的,我有一组这样的信息:
2014-01 2014-1-1
2014-01 2014-1-2
2014-01 2014-1-3
2014-02 2014-2-1
2014-02 2014-2-2
我想创建另一个列,所以它看起来像这样: (顺序)
1 2014-01 2014-1-1
1 2014-01 2014-1-2
1 2014-01 2014-1-3
2 2014-02 2014-2-1
2 2014-02 2014-2-2
我尝试了排名功能,但它没有'帮助,只给我1,2,3,4,5值
1 2014-01 2014-1-1
2 2014-01 2014-1-2
3 2014-01 2014-1-3
4 2014-02 2014-2-1
5 2014-02 2014-2-2
任何人请帮忙......?谢谢
答案 0 :(得分:2)
您应该显示您尝试过的查询。无论如何,您需要dense_rank()
:
select dense_rank() over (order by col1) , col1, col2
from table t;
如果这两个值实际上在一个列中,那么执行:
select dense_rank() over (order by left(col, 7)), col
from table t;