1、创建测试表,
白朗ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
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) 的倒叙排列
排序的话,用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
先排字母,然后再排汉字。是a,b,阿,吧。按照字符的ASCII码的顺序来排序。顺序的时候,按照ASCII码由小到大排序。倒序的时候,按照ASCII码由大到小排序。
如果表非常大,需要用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的性能
希望能帮到你。