MySql 多表聯合查詢分頁儲存過程

2021-07-11 12:10:50 字數 1225 閱讀 7715

分享乙個好用的mysql多表聯合按條件查詢查詢分頁排序儲存過程:

-- ----------------------------

-- procedure structure for `ppage`

-- ----------------------------

drop procedure if exists `ppage`;

delimiter ;;

create definer=`root`@`localhost` procedure `ppage`(in _pagecurrent int, /*當前頁*/

in _pagesize int, /*每頁的記錄數*/

in _ifelse varchar(1000),/*顯示字段*/

in _where varchar(1000), /*條件*/

in _order varchar(1000))

comment '分頁儲存過程\r\n呼叫例1 call sp_page(1,3,''*'',''test'',''order by id desc'');\r\n'

begin

if _pagesize<=1 then

set _pagesize=20;

end if;

if _pagecurrent < 1 then

set _pagecurrent = 1;

end if;

set @strsql = concat('select ',_ifelse,' from ',_where,' ',_order,' limit ',_pagecurrent*_pagesize-_pagesize,',',_pagesize);

prepare stmtsql from @strsql;

execute stmtsql;

deallocate prepare stmtsql;

set @strsqlcount=concat('select count(0) as count from ',_where);/*count(1) 這個字段最好是主鍵*/

prepare stmtsqlcount from @strsqlcount;

execute stmtsqlcount;

deallocate prepare stmtsqlcount;

end;;

delimiter ;

mysql多表聯合查詢

我在工作中天天研究zen cart的程式,那個叫人痛苦,最近比較痛苦的是經常碰見mysql多表聯合查詢,多的時候有12個表聯合查詢,zen cart的程式設計師不知道是懶還是技術好,乙個語句完成啦20幾個功能模組需要的資料,我修改就痛苦的很 我只會select from table where id...

mysql多表聯合查詢

mysql多表聯合查詢操作,3個表以上操作的sql語句 from語句是表選擇語句,需要選擇多個表的時候,用逗號 來分割所選的表。還可以用join語句來定義結合條件。表的別名 選擇的表可以取別名,在下面的例子中,from所選擇的表名後用空格來分割別名 例子1 將表foo取別名 t1,將表bar 取別名...

mysql多表聯合查詢

建立表a插入資料 create table a id int 11 primary key,name varchar 6 not null age int 4 notnull insert into a values 1 111 20 insert into a values 2 222 20 in...