这个问题在这里已经有答案了:
选择distinct field和row num只是为了显示一个id号,会产生重复的数据(3个答案)
10个月前关门了。
我的sql语句是
SELECT distinct(CATEGORY) as CategoryName
FROM APPLICATION
where applicationId = ?
这很好,但现在我想要的是categoryname,我需要顺序生成的数字。例如,如果不同类别计数为10,则每个类别名称的序号应为1到10。如果生成的序列号按类别排序就好了。
2条答案
按热度按时间vwkv1x7d1#
可以使用子查询:
如果确实要避免子查询,可以使用
dense_rank()
:或者,你可以用
GROUP BY
:或者
rownum
或者ROW_NUMBER()
在这种情况下可以使用。blmhpbnm2#
按照sql操作的顺序,行数()在前面,因此在被distinct关键字删除之前会产生不同的值,而distinct关键字不完全是一组连续的数字。
所以,使用稠密秩()