sql按第一列值排序问题
发布网友
发布时间:2022-04-10 00:49
我来回答
共3个回答
热心网友
时间:2022-04-10 02:19
Oracle 10g (10.2.0.1.0 )
row_number() 分析函数还是在某些场合挺不错的,在这里估计不见得很好,这个函数本身一般使用在等级级别层次排序上使用的,就是有等级的区分,我这里没有使用到这个函数。不过效果我认为应该是你想要的,也比较简单,理解也容易,试试我的脚本:
select t.*, e.*
from scott.emp e,
(select rownum one, deptno
from (select deptno
from scott.emp e1
group by deptno
order by deptno)) t
where t.deptno = e.deptno
order by e.deptno;
热心网友
时间:2022-04-10 03:37
方便的话就建个临时表吧
CREATE TABLE #temptb (序号, 列一, 列二, 列三)
INSERT INTO #tembtb
SELECT row_number() over(order by c0105), 列一, 列二, 列三 FROM tablename GROUP BY 列一
SELECT b.序号, a.列一, a.列二, a.列三 FROM tablename a LEFT JOIN #temptb b ON a.列一=b.列一
DROP TABLE #temptb
热心网友
时间:2022-04-10 05:11
--假设表名是tablename, 列名分别是f1,f2,f3
select c.rn, a.*
from tablename as a,
(select f1, row_number() over(order by f1) as rn from
(select distinct f1 from tablename) as b) as c
where a.f1 = c.f1