将 select top n * from a where id not in(select top n id from a )改写成mysql能运行的语句,
用于实现前n条记录后的n条记录.要能实现啊,用作JSP分页,用的是MySQL,谢谢,在线等!...
用于实现前n条记录后的n条记录.
要能实现啊,用作JSP分页,用的是MySQL,谢谢,在线等! 展开
要能实现啊,用作JSP分页,用的是MySQL,谢谢,在线等! 展开
4个回答
2013-01-14
展开全部
mysql 翻页很省事的啊
LIMIT 接受一个或两个数字参数。
参数必须是一个整数常量。
如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,
第二个参数指定返回记录行的最大数目。
初始记录行的偏移量是 0(而不是 1)
例如 有这样的要求:
要求查询SALE_REPORT 表中,每日销售金额(SALE_MONEY)合计最大的10条数据,要求按从大到小,取第11条到第20条。(无视SALE_ITEM 字段)
SQL Server 要这么写:
SELECT
TOP 10
top20.*
FROM
(
SELECT
TOP 20
SALE_DATE,
SUM(SALE_MONEY) AS SUM_MONEY
FROM
SALE_REPORT
GROUP BY
SALE_DATE
ORDER BY
SALE_DATE DESC
) AS top20
ORDER BY
top20.SALE_DATE ASC
MySQL 嘛
SELECT
SALE_DATE,
SUM(SALE_MONEY) AS SUM_MONEY
FROM
SALE_REPORT
GROUP BY
SALE_DATE
ORDER BY
SUM(SALE_MONEY) DESC
LIMIT 10, 10
直接一个 LIMIT 10, 10 搞定。
LIMIT 10, 10 也就是 从第 1行开始跳过10行 (也就是到11行了), 获取 10行数据。
LIMIT 接受一个或两个数字参数。
参数必须是一个整数常量。
如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,
第二个参数指定返回记录行的最大数目。
初始记录行的偏移量是 0(而不是 1)
例如 有这样的要求:
要求查询SALE_REPORT 表中,每日销售金额(SALE_MONEY)合计最大的10条数据,要求按从大到小,取第11条到第20条。(无视SALE_ITEM 字段)
SQL Server 要这么写:
SELECT
TOP 10
top20.*
FROM
(
SELECT
TOP 20
SALE_DATE,
SUM(SALE_MONEY) AS SUM_MONEY
FROM
SALE_REPORT
GROUP BY
SALE_DATE
ORDER BY
SALE_DATE DESC
) AS top20
ORDER BY
top20.SALE_DATE ASC
MySQL 嘛
SELECT
SALE_DATE,
SUM(SALE_MONEY) AS SUM_MONEY
FROM
SALE_REPORT
GROUP BY
SALE_DATE
ORDER BY
SUM(SALE_MONEY) DESC
LIMIT 10, 10
直接一个 LIMIT 10, 10 搞定。
LIMIT 10, 10 也就是 从第 1行开始跳过10行 (也就是到11行了), 获取 10行数据。
展开全部
select * from a limit (page-1)*pagesize,pagesize
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from a where id not in(select id from a limit 0,n) limit 0,n
追问
不能运行啊~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from a limit n,2*n;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询