最新文章列表

诡异的fetch first n rows only !!

诡异的fetch first n rows only  !!   前天解决了系统一个历史科目分页查询的bug,虽然当时解决了,但并不知道造成bug的具体原因。于是,这两天通过查资料和测试终于知道了bug产生的原因     bug描述:系统在分页查询的时候,从第2页开始,以后的每一页数据都和第2页数据相同的,正确的情况应该是每页都不相同的   数据描述:历史科目表中的数据每天都会有数据 ...
zhouchaofei2010 评论(0) 有10327人浏览 2015-10-16 17:19

用普通sql代替row_number函数

在sqllite这样的数据库里没有row_number或者rank这样的分析函数, 但有时候需要实现一些需求比如取各班的成绩第一名的学生,这时候如果数据库里没有分析函数,也可以使用普通sql来解决。 CREATE TABLE stugrade ( stuid VARCHAR(10), stuname VARCHAR(100) not NULL, score INT, classid VARC ...
中华好儿孙 评论(0) 有1465人浏览 2015-08-28 09:58

hive row_number分组排序top

自从hive 0.11.0 开始,加入了类似orcle的分析函数,很强大,可以查询到分组排序top值 使用方法跟oracle没有差别   贴个小例子 查询的是同一个操作下pv前十的用户 select * ,row_number() OVER(PARTITION BY t3.action ORDER BY pv desc) AS flag from ( select acti ...
blackproof 评论(0) 有15091人浏览 2014-12-08 17:59

hive中使用标准sql实现分组内排序

在hive中,想要实现分组内排序,一般都是自己写udf实现oracle中分析函数row_number() over(partition)的功能,如果不使用自定义udf,仅使用标准sql实现的话,毫无性能可言,仅做实验而已。   方便起见,以下语句为oracle中语句,但都属于标准sql,在hive中亦可:   CREATE TABLE lxw_t (user_id VARCHAR2(20) ...
superlxw1234 评论(0) 有4426人浏览 2013-05-15 10:22

Oracle 中关键字Rank ,Dense_Rank ,Row_Number的使用

 以前在使用oracle数据库的时候,单纯的order by 字段 ASC (DESC)对数据集进行排序时,没有办法直接获得排名,必须遍历结果集的时候,自定义排序编号,最近看到一个好办法,在此分享下。。 主要介绍3种不同的排序方法并完成排名   一、使用Rank关键字   Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一 ...
星夜的遐想 评论(0) 有1681人浏览 2013-01-09 17:46

oracle为相同行记录增加序号列(row_number()函数)

 文章提取自 : http://blog.sina.com.cn/s/blog_475839a50100s2q3.html     表结构及测试数据如下: CREATE TABLE t_row_str( ID INT, col VARCHAR2(10)); INSERT INTO t_row_str VALUES(1,'a'); INSERT INTO t_row_str VALUE ...
ysj5125094 评论(0) 有8571人浏览 2012-11-12 16:42

获得每个班的前两名学生

群里有个朋友问了一个是sql查询的问题:“获得每个班的两名学生姓名 和班级编号” 要求每个班的学生要在一起 , 我没有构建相应的表,通过项目中现有的用户表,进行了查询,sql如下: SELECT user_name , sp_id , rank FROM ( SELECT u.user_name ,u.sp_id, row_number() OVER(PARTITION BY u.sp_id ...
zld406504302 评论(0) 有967人浏览 2012-06-27 12:33

HIVE中row_number函数的描述与使用场景

假设一个场景:存在表user_score,该表的数据如下 idratescore1'0-4'102'0-4'403'0-4'304'0-4'205'5-10'106'5-10'407'5-10'308'5-10'209'11-20'1010'11-20'4011'11-20'3012'11-20'20 现在要求用一条查询语句取出每种rate下score最大的两条记录,也就算取出id为:2,3,6,7 ...
chiyx 评论(2) 有50379人浏览 2012-06-12 23:37

oracle rank

oracle中 没有入sql server的top,但是可以用rank | percent_rank | row_number | dense_rank等等函数来完成, 如我要取我查询结构的前百分之80的数据:     select count(*) from( SELECT t.finishtime - t.receivetime laboredtime, percent ...
blackproof 评论(0) 有1170人浏览 2012-06-06 21:57

row_number() /rank()/dense_rank()

rank()函数主要用于排序,并给出序号 dense_rank():功能同rank()一样,区别在于,rank()对于排序并的数据给予相同序号,接下来的数据序号直接跳中跃,dense_rank()则不是row_number()涵数则是按照顺序依次使用,相当于我们普通查询里的rownum值比如数据: 1,2,2,4,5,6。。。这是rank()的形式  1,2,2,3,4,5。。。这是dense_ra ...
zqding 评论(0) 有1573人浏览 2012-03-27 10:29

oracle over函数用法

1,初始化脚本 create table emp(deptno varchar2(10),ename varchar2(20),sal number(10,0)); insert into emp(deptno,ename,sal)values('20',trim('ADAMS '), 1100 ); insert into emp(deptno,ename, ...
小马迷途 评论(0) 有1615人浏览 2011-12-10 00:42

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics