数据库分页查询SQL语句

示例场景:

数据库中有优惠券表t_coupon,字段id, code, user_name, get_date, start_date, end_date分别表示ID, 优惠券编码, 用户名, 优惠券获得日期, 优惠券生效日期, 优惠券过期日期。

表的结构:t_coupon ( id, code, user_name, get_date, start_date, end_date)

现在需要分页查询用户名为 ego_ecust 的用户的优惠券信息,每页5条记录,按优惠券生效日期升序排序。

各数据库查询第1-5条数据的SQL如下。


MySQL:

SELECT * FROM t_coupon c
WHERE c.user_name = 'ego_ecust' 
ORDER BY c.start_date 
OFFSET 0 LIMIT 5;

SQLServer:



Oracle:

SELECT * FROM (
    SELECT p.*, ROWNUM AS rn FROM (
        SELECT c.* FROM t_coupon c
WHERE c.user_name = 'ego_ecust' 
ORDER BY c.start_date) p
    WHERE ROWNUM <= 5) r
WHERE r.rn >= 1;



参考资料:http://blog.sina.com.cn/s/blog_8604ca230100vro9.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值