取前十条取后十条取区间值-限制取数区间

摘要:
首先,这无疑是一种身份。这里是否有一个并不重要。我不禁想到了SQL注入的黑客技术。
MySQL:
select * from table1 where 1=1 limit 10;

SQL Server:
读取前10条:select top (10) * from table1 where 1=1;
读取后10条:select top (10) * from table1 order by id desc;
在SQL Server里面,如何读取按照某个排序,第3到6这四个记录
select top 4 * from table1 where id not in(select top 2 id from table1);

oracle:
读取前10条:select * from table1 where rownum<=10;
读取后10条:select * from table1 where rownum<=10 order by id desc;
--取出第三条到第六条数据
(效率不高)
select * from (select * from table1 where rownum<=3) minus (select * from table1 where rownum<3);
--或者下面这个
select * from (select * from (select rownum rn, a.* from table1 a) where rn>=3) where rn<=6;

where 1=1仔细揣摩一下,在这里表示2种意思。
第一,当然它毫无疑问是一个恒等式,在这里有没有都没关系。不禁联想起SQL注入的黑客手法。
第二,这里写个1=1,它的重点是想告诉我,这里可以写条件,比如:

格式:select * from 表名 where 列名=' ' limit 5,10;  -- limit numStart, num,其中numStart默认为0,表示从第1条开始,可以省略,
-- 条数下标从0开始,numStart表示从numStart+1条开始,num表示取num条
例子:select * from tb_email where toname='Jef' limit 5,10;
翻译:表示在tb_email表中的发送人为Jef的所有数据从第6条开始取10条数据。

另外 desc是descend降序意思 asc是ascend 升序的意思
select top (10) * from table1; 默认为asc,并且默认用主键排序
select top (10) * from table1 order by id desc为desc;
想要加条件的话,即:
select top (10) * from table1 where shijian=' ' order by id desc;

这时不禁想问,用'select * from table order by'显示时怎么让order by 后面同时满足两个条件?
答:select * from table order by shijina,paixu desc;
在实际项目中,我建议大家做一个按钮:
select case orderby
case 'shijian'
sql="select * from my_table order by shijian desc"
case 'paixu'
sql="select * from my_table order by paixu desc"
case else
sql="select * from my_table order by shijina,paixu desc"
end select
/

免责声明:文章转载自《取前十条取后十条取区间值-限制取数区间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#_switch语句,for循环,do while循环,while循环快速创建 Vue 项目下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

django面试题必问

1、谈谈你对http协议的认识。 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请...

Postgre Sql获取最近一周、一月、一年日期函数

  使用Postgre Sql获取近一周、一年、一月等系统函数调用如下,使用方面相对于Ms Sql server 容易了许多。 --当前时间 select now(); --current_timestamp 同 now() 函数等效 select current_timestamp --近一周 select now() - inte...

Mysql 合并结果接横向拼接字段

近日在做一个报表功能里面有一个这样的需求是统计各部门在某一月入职和离职的人数 我的步骤是这样先查出入职的人数关键sql如下: SELECT dept ,COUNT(1) rcNumber FROM 员工表 WHERE ( 入职时间 != '' OR 入职时间 IS NOT NULL) and DATE_FORMAT(入职时间...

Mysql,重复字段只取其中一行

Mysql去重,可以通过group by和子查询实现。 Mysql,重复字段只取其中一行。如下 格式 :  select 字段 from [表] where 其他字段 in (select 函数(其他字段) from [表] group by 相同字段) 示例如下: 从t_user表中,取出 user_name字段相同的记录中,id...

DB2_SQL_常用知识点&amp;amp;实践

一、删除表中的数据(delete或truncate) 1 truncate table T_USER immediate; 说明:Truncate是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用; TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少; DELETE...

4种方法获取select下拉框标签中的值

选中下拉框中“上海” 代码如下:<select id="province" name="province"> <option value="0">请选择</option><option value="5">上海</option><option value="7">北京</opti...