sql语句查询出表里的第二条、第三条记录(附加多个条件)

1、查询所有数据

use MengYou_SQL
select * 
from pifa_Company 
where gs_passed=1 and on_top=1 and  gs_bigclass=25 
order by gs_add_date desc

 

2、查询第一条数据

use MengYou_SQL
select top 1 * 
from pifa_Company 
where gs_passed=1 and on_top=1 and  gs_bigclass=25 
order by gs_add_date desc

 

3、查询第二条、第三条数据

use MengYou_SQL
select top 2 * 
from pifa_Company 
where gs_passed=1 and on_top=1 and  gs_bigclass=25 
and gs_id not in( select top 1 gs_id from pifa_Company where on_top=1 and  gs_bigclass=25 and gs_passed=1  order by gs_id desc)
order by gs_add_date desc

 

4、实现的效果图

### SQL Lite 中 `LIMIT` 和 `ORDER BY` 的使用 在 SQLite 数据库中,`ORDER BY` 用于对查询结果进行排序,而 `LIMIT` 子句则用来限制返回的结果数量。这两个子句可以一起使用来实现分页功能或获取特定范围内的记录。 对于单列排序操作,语法结构如下所示: ```sql SELECT * FROM table_name ORDER BY column_name ASC|DESC; ``` 其中 `ASC` 表示升序排列,默认情况下即使省略也会按此方式执行;相反地,指定 `DESC` 可以得到降序输出[^1]。 当涉及到多字段组合排序时,可以在 `ORDER BY` 后面连续给多个列名,并分别指明各自的升降序规则: ```sql SELECT * FROM products ORDER BY category_id, price DESC LIMIT 3; ``` 上述命令会先依据类别 ID 排序,在同一类别的内部再按照价格高低逆向排列,最后仅保留最前面三个条目作为最终输出[^2]。 为了避免因某些排序键值重复而导致的不确定性问题,建议总是提供足够的辅助排序条件使每一行都能被唯一区分来。例如,假设存在大量具有相同评分的商品列表,此时可附加商品编号作为第二级排序标准确保稳定性[^4]。 #### 组合使用 `ORDER BY` 和 `LIMIT` 为了从数据库中提取经过排序后的有限数目项,应当把 `LIMIT` 放置在整个查询语句的最后一部分紧随 `ORDER BY` 之后。下面是一个具体的例子展示如何选取成绩表里分数最高的一对学生姓名及其得分情况: ```sql SELECT student_name, score FROM scores ORDER BY score DESC LIMIT 1 OFFSET 0; ``` 这里定义了一个偏移量 (`OFFSET`) 来控制起始位置,即跳过多少行后再开始计数。如果不特别设置的话,默认是从零位起步也就是首行算起[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值