SELECT
obj.MEM_ID,
obj.count,
CASE
WHEN @rowtotal = obj.count THEN
@rownum
WHEN @rowtotal := obj.count THEN
@rownum :=@rownum + 1
WHEN @rowtotal = 0 THEN
@rownum :=@rownum + 1
END AS rownum
FROM
(
SELECT
c.MEM_ID,
count(*) count
FROM
T_CIRCLE_INTEREST c
WHERE
c.DELETED = 'N'
AND c.MEM_ID_ED IN (
SELECT
MEM_ID
FROM
T_TEACHER t
WHERE
t.DELETED = 'N'
)
GROUP BY
c.MEM_ID
) AS obj,
(SELECT @rownum := 0 ,@rowtotal := NULL) r
ORDER BY obj.count desc
obj.MEM_ID,
obj.count,
CASE
WHEN @rowtotal = obj.count THEN
@rownum
WHEN @rowtotal := obj.count THEN
@rownum :=@rownum + 1
WHEN @rowtotal = 0 THEN
@rownum :=@rownum + 1
END AS rownum
FROM
(
SELECT
c.MEM_ID,
count(*) count
FROM
T_CIRCLE_INTEREST c
WHERE
c.DELETED = 'N'
AND c.MEM_ID_ED IN (
SELECT
MEM_ID
FROM
T_TEACHER t
WHERE
t.DELETED = 'N'
)
GROUP BY
c.MEM_ID
) AS obj,
(SELECT @rownum := 0 ,@rowtotal := NULL) r
ORDER BY obj.count desc
本文介绍了一种使用 SQL 实现复杂分页效果的方法,通过案例展示了如何在查询教师兴趣圈记录时进行高效的分页处理。该方法利用 MySQL 的变量特性实现自定义分页逻辑,避免了传统 LIMIT 分页带来的性能瓶颈。
1183

被折叠的 条评论
为什么被折叠?



