如果表非常大,需要用rownum查询指定的几条,下面命令可以实现
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的曲沃网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
select * from(
select *
from T_NB_COPY t
order by create_time desc
) b where rownum = 5
去重及时间段获取
select distinct t.device_id from T_RECEIVE_LOG t where t.receive_time = to_date('2018-02-28 00:00:00','yyyy-mm-dd hh24:mi:ss') and t.receive_time = to_date('2018-02-27 00:00:00','yyyy-mm-dd hh24:mi:ss')
使用倒序索引提升ORDER BY DESC性能
使用倒序索引(INDEX DESC),可以大幅提升带有order by desc子句的SQL语句性能。
举例
1、表名:test_t,有一字段名为object_id
2、总数据量:580000行,segment_size:72MB
3、Where条件(Owner=’SYS’ and Object_id50000)的行数:32472行
4、SQL语句:select * from test_t where owner='SYS' and object_id 50000 order by object_id desc
5、希望借助倒序索引,提升order by object_id desc的性能
希望能帮到你。
先排字母,然后再排汉字。是a,b,阿,吧。按照字符的ASCII码的顺序来排序。顺序的时候,按照ASCII码由小到大排序。倒序的时候,按照ASCII码由大到小排序。
排序的话,用order by来处理即可。
比如:
col
a123
a234
b999
b335
select * from tablename order by col;
结果就是
col
a123
a234
b335
b999
如果按倒序排列:
select * from tablename order by col desc;
结果就是
col
b999
b335
a234
a123
1、创建测试表,
create table test_name(id varchar2(20),name varchar2(20), birthday date);
2、插入测试数据;
insert into test_name values(1, 'aa', to_date('1990-01-02 10:10:50','yyyy-mm-dd hh24:mi:ss'));
insert into test_name values(2, 'bb', to_date('1987-02-02 10:01:25','yyyy-mm-dd hh24:mi:ss'));
insert into test_name values(3, 'cc', to_date('2000-01-25 09:01:25','yyyy-mm-dd hh24:mi:ss'));
commit;
3、编写语句,根据birthday字段进行升序;
select * from test_name t order by birthday;
4、编写语句,根据birthday字段进行降序;
select * from test_name t order by birthday desc;
计算和排序 可以用两个表达式的;计算列作为 select 的子句; (endTime-nowTime) 作为 order by 的子句
如果提示 order by 不是查询的内容,可以用子查询 ,先 select 出来两个列,然后 在按照 (endTime-nowTime) 的倒叙排列