mysql分组分页
来源:互联网 发布:淘宝中式旗袍图片大全 编辑:程序博客网 时间:2024/06/01 15:15
DELIMITER $$
USE `ltpdb`$$
DROP PROCEDURE IF EXISTS `file_noteid_page`$$
CREATE DEFINER=`root`@`%` PROCEDURE `file_noteid_page`(i_noteid VARCHAR(64),
i_cid VARCHAR(64),
i_type VARCHAR(64),
i_userid VARCHAR(64),
i_page_num INT,
i_page_size INT)
BEGIN
DECLARE v_start_index INT ;
DECLARE v_end_index INT ;
DECLARE v_count INT;
SET v_start_index= (i_page_num-1)*i_page_size;
SET v_end_index = i_page_num*i_page_size;
SELECT COUNT(*) INTO v_count FROM (
SELECT noteid FROM lc_file WHERE
noteid IS NOT NULL
AND ((i_cid IS NULL && cid IS NULL ) OR cid = i_cid)
AND (i_userid IS NULL OR usrid = i_userid)
AND (i_type IS NULL OR (i_type='4' && aclock IS NOT NULL ) OR (i_type IN('1','2','3') && ftype=i_type ))
AND (i_noteid IS NULL OR noteid=i_noteid ) GROUP BY noteid ORDER BY cversion DESC ) a;
SET @rw=0;
SELECT al.noteid ,v_count AS total,rn FROM (
SELECT (@rw := @rw + 1) AS rn ,b.noteid FROM ( SELECT noteid FROM lc_file WHERE
noteid IS NOT NULL
AND ((i_cid IS NULL && cid IS NULL ) OR cid = i_cid)
AND (i_userid IS NULL OR usrid = i_userid)
AND (i_type IS NULL OR (i_type='4' && aclock IS NOT NULL ) OR (i_type IN('1','2','3') && ftype=i_type ))
AND (i_noteid IS NULL OR noteid=i_noteid ) GROUP BY noteid ORDER BY cversion DESC) b ) al
WHERE rn > v_start_index AND rn <= v_end_index;
END$$
USE `ltpdb`$$
DROP PROCEDURE IF EXISTS `file_noteid_page`$$
CREATE DEFINER=`root`@`%` PROCEDURE `file_noteid_page`(i_noteid VARCHAR(64),
i_cid VARCHAR(64),
i_type VARCHAR(64),
i_userid VARCHAR(64),
i_page_num INT,
i_page_size INT)
BEGIN
DECLARE v_start_index INT ;
DECLARE v_end_index INT ;
DECLARE v_count INT;
SET v_start_index= (i_page_num-1)*i_page_size;
SET v_end_index = i_page_num*i_page_size;
SELECT COUNT(*) INTO v_count FROM (
SELECT noteid FROM lc_file WHERE
noteid IS NOT NULL
AND ((i_cid IS NULL && cid IS NULL ) OR cid = i_cid)
AND (i_userid IS NULL OR usrid = i_userid)
AND (i_type IS NULL OR (i_type='4' && aclock IS NOT NULL ) OR (i_type IN('1','2','3') && ftype=i_type ))
AND (i_noteid IS NULL OR noteid=i_noteid ) GROUP BY noteid ORDER BY cversion DESC ) a;
SET @rw=0;
SELECT al.noteid ,v_count AS total,rn FROM (
SELECT (@rw := @rw + 1) AS rn ,b.noteid FROM ( SELECT noteid FROM lc_file WHERE
noteid IS NOT NULL
AND ((i_cid IS NULL && cid IS NULL ) OR cid = i_cid)
AND (i_userid IS NULL OR usrid = i_userid)
AND (i_type IS NULL OR (i_type='4' && aclock IS NOT NULL ) OR (i_type IN('1','2','3') && ftype=i_type ))
AND (i_noteid IS NULL OR noteid=i_noteid ) GROUP BY noteid ORDER BY cversion DESC) b ) al
WHERE rn > v_start_index AND rn <= v_end_index;
END$$
DELIMITER ;
-- ( SELECT noteid FROM lc_file WHERE
noteid IS NOT NULL
AND ((i_cid IS NULL && cid IS NULL ) OR cid = i_cid)
AND (i_userid IS NULL OR usrid = i_userid)
AND (i_type IS NULL OR (i_type='4' && aclock IS NOT NULL ) OR (i_type IN('1','2','3') && ftype=i_type ))
AND (i_noteid IS NULL OR noteid=i_noteid ) GROUP BY noteid ORDER BY cversion DESC)
如果不套一层(select noteid)rn顺序就会乱。
0 0
- mysql分组分页
- mysql 分组、最新数据优先于group,分页同时处理
- mysql 分组
- mysql 分组
- MySQL-分组
- MySQL分组
- MySQL 分组
- MySQL 分组
- JSP分组分页
- mysql 分组查询数据时,如何获得用于分页的总记录数?
- mysql 分组查询数据时,如何获得用于分页的总记录数?
- MySQL 查询分页数据中分组后取每组的前N条记录
- MySQL 查询分页数据中分组后取每组的前N条记录
- MySQL第二章-相关查询、分组、排序、模糊、分页、连接、函数
- 06-mysql中的查询(排序、聚合函数、分组、分页)(第二章)
- Mysql| Mysql分组函数
- JAVA分组以及JAVA分页
- mysql 分组汇总
- 三种继承方式的区别
- Weka与R
- 修复Mavericks唤醒后连不上Wi-Fi
- DBC动态检泡法(EMS)
- 电脑的快捷方式——快捷关闭电脑启动项的方法
- mysql分组分页
- 设置状态条的样式Demo
- 指针 引用 区别
- 利用SecureCRT上传、下载文件(使用sz与rz命令),超实用!
- Qt事件处理的五个层次、Qt自定义事件的实现
- android中调用浏览器的代码
- oracle 在分组内排序的方法(转载)
- TFS使用中的问题集锦1
- Zend Studio 9.0.3 注册破解步骤(PHP安裝軟件9.0.3/9.0.4破解)