我希望在一个简单的计数器中添加一个SQL查询 - 也就是说,如果我对返回3个结果的单个姓氏运行查询,我希望结果显示查询中的行值。 E.g:
Surnames Counter
Smith 1
Murphy 2
Brown 3
如何做到这一点?
答案 0 :(得分:1)
select a.*
, rownum rnum
from
(select surname from name_table order by surname) a
会给你一个简单的编号(根据surname
的顺序,但不会处理关系。
答案 1 :(得分:1)
row_number
分析函数可以解决这个问题:
SELECT surname, ROW_NUMBER() OVER (ORDER BY surname) AS counter
FROM my_table
编辑:
在像这样的简单查询中,您可以使用rownum伪列:
SELECT surname, rownum
FROM my_table
ORDER BY 1 DESC
答案 2 :(得分:0)
你可以尝试这个
SELECT Surnames,row_number() OVER (ORDER BY Surnames)
FROM t
SQL小提琴: - http://sqlfiddle.com/#!4/ad3aa/3
答案 3 :(得分:0)
SELECT Surnames,row_number() OVER (ORDER BY Surnames) as Counter FROM table;
答案 4 :(得分:0)
Cerate一个名为' RowNumber'的SQL表达式字段。只需简单的' rownum'作为声明。在详细信息行中将该字段添加到您想要的位置,然后按表达式字段的名称对报告进行排序,' RowNumber'在这种情况下。