比如你的TOP限制是10
创新互联坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十余年网站建设经验创新互联是成都老牌网站营销服务商,为您提供成都做网站、网站设计、网站设计、H5场景定制、网站制作、品牌网站设计、微信小程序定制开发服务,给众多知名企业提供过好品质的建站服务。
在ORACLE中就是where
后面添加rownum10这个条件
可以这么写:
"select
*
from
cs_service
where
rownum"
+pageSize
+"and
supplierId
not
in
(select
supplierID
from
cs_service
where
rownum"
+number
+"order
by
servicetype
desc)
"
+"order
by
servicetype
desc"
Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。
1、设置NLS_SORT参数值
SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINESE_PINYIN_M 按照拼音排序
2、Session级别的设置,修改ORACLE字段的默认排序方式:
按拼音:alter session set nls_sort = SCHINESE_PINYIN_M;
按笔画:alter session set nls_sort = SCHINESE_STROKE_M;
按偏旁:alter session set nls_sort = NLS_SORT=SCHINESE_RADICAL_M;
3、语句级别设置排序方式:
按照笔划排序 select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
按照部首排序 select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
按照拼音排序 此为系统的默认排序方式
select * from dept order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
4、修改系统参数(数据库所在操作系统):
set NLS_SORT=SCHINESE_RADICAL_M export NLS_SORT (sh) setenv NLS_SORT SCHINESE_RADICAL_M (csh) HKLC\SOFTWARE\ORACLE\home0\NLS_SORT (win注册表)
sqlserver或者oracle如下:
创建表,数据:
create table t(id int,star int) insert into t values (1,1)insert into t values (2,3)insert into t values (3,5)insert into t values (4,2)insert into t values (5,2)insert into t values (6,1)insert into t values (7,5)insert into t values (8,4)insert into t values (9,2)insert into t values (10,2)insert into t values (11,3)insert into t values (12,3)insert into t values (13,4)
执行:
select id,star from(select t.*,row_number() over (partition by star order by id) rn from t) tmporder by rn,star
结果大概这个样子:
其他数据库另说,就没这么简单了。