美文网首页
Hive、MySQL添加逻辑自增列

Hive、MySQL添加逻辑自增列

作者: cgkbfrd | 来源:发表于2019-01-11 20:54 被阅读0次

    Hive实现自增列:

    select row_number() over(partition by 1 order by 1) as rn, Score

    from Scores

    这就体现了row_number() over 这个窗口分析函数的灵活性,partition by 1 把每一条记录都当做一个分区,然后在对每一条记录进行从1开始编号

    MySQL实现自增列:

    用于在写SQL的时候实现自增列,网上看了很多,运行时都是有些小问题,所以自己经过测试总结一下一段小代码

    select @rownum := @rownum + 1 as Rank, Score

    from (select distinct @rownum := 0, Score from Scores order by Score desc) as b

    有的地方写在SQL语句前先加一句:set @rownum := 0,应该是用来初始化,但是在我执行的时候会报错,所以我的做法是在其他语句中找个适当的插入@rownum :=0 进行初始化,这样最终达到的效果一样

    如果大家有什么其他好的方法可以交流

    相关文章

      网友评论

          本文标题:Hive、MySQL添加逻辑自增列

          本文链接:https://www.haomeiwen.com/subject/gcsfdqtx.html