发布网友 发布时间:2022-04-08 02:47
共3个回答
热心网友 时间:2022-04-08 04:16
能表达的清楚些么?要查一条数据,用where条件总是能查的,如果是已经是一个结果集,要在结果集中将第二条数据取出来,那么你得先开窗函数dense_rank()over(partition by XXX order by YYY desc/asc) tn然后取tn=2的值。追答是的,SQL执行顺序:from、where、group by、having、Select、order by。执行后是分组后的前三行。
热心网友 时间:2022-04-08 05:34
数据库中的数据一般是不太关注存储顺序的,一般是在取数据时按某种规则进行排序,所以所谓的第二行不知道你到底是什么意思?
如果不加排序:
select * from (select * from tabname) a where rownum = 2如果加排序:
select * from (select * from tabname order by id) a where rownum = 2追问Rownum=2没反应,我select ID from table where rownum<=3 group by ID这个语句不是选前3行吗
追答
用 Rownum=2 时,应该用 子查询,否则无数据的。
选前三行,为什么用group by呢?
select ID from table where rownum<=3
热心网友 时间:2022-04-08 07:09
SELECT * FROM TABLE