delimiter $$use`qgroupdata`$$drop procedure if exists`ex_print_bg_kdd_search`$$create definer=`root`@`%` procedure`ex_print_bg_kdd_search`(
_where varchar(2000), #查詢條件
_orderbyvarchar(200), #排序條件
_pageindexint, #第幾頁
_pagesizeint, #每頁的記錄數
out _pagecountint, #頁數
out _recordcountint,#查詢的總記錄數
out _buyercountint#買家數
)begin
set @strsql = concat('create table if not exists temp_exnumber as select t.`logid`, t.`buyernick`,t.`tofullname`,t.`receiver_province`,t.`receiver_city`,t.`exid`,t.`excode`,t.`excodename`,t.`exnumber`,t.`orderids`,t.`goodsnum`,t.`weight`,t.`kddtype` from ( select * from `print_bg_kdd` where exnumber<>','''','''','and exnumber is not null and',_where ,'order by `logid` desc) t group by t.`exnumber` order by t.logid desc;');prepare strsql from @strsql;executestrsql;deallocate preparestrsql;set @strsql2 = concat('create table if not exists temp_exnumber2 as select t.`status`,t.`exnumber`,t.`adddatetime` from ( select * from `print_bg_kdd` where exnumber<>','''','''','and exnumber is not null and',_where ,'order by `status` desc) t group by t.`exnumber`;');prepare strsql2 from @strsql2;executestrsql2;deallocate preparestrsql2;
#記錄數統計select count(0) into _recordcount fromtemp_exnumber ;
#買家數統計set @strsql4 = concat('select count(distinct buyernick) into @buyercount from print_bg_kdd where',_where);prepare strsql4 from @strsql4;executestrsql4;deallocate preparestrsql4;set _buyercount=@buyercount;set @startrow = _pagesize*(_pageindex -1);set @pagesize =_pagesize;set @strsql3 = concat('select a.*,b.status,b.adddatetime from temp_exnumber as a inner join temp_exnumber2 as b on a.exnumber=b.exnumber order by',_orderby,'limit',@startrow,',',@pagesize);prepare strsql3 from @strsql3;executestrsql3;deallocate preparestrsql3;
#計算訂單數select orderids fromtemp_exnumber;
#計算頁數if (_recordcount <= _pagesize) then
set _pagecount = 1;else if (_recordcount % _pagesize > 0) then
set _pagecount = _recordcount / _pagesize + 1;else
set _pagecount = _recordcount /_pagesize;end if;end if;
#刪除臨時表drop tabletemp_exnumber;drop tabletemp_exnumber2;end$$
delimiter ;
mysql臨時表更新 MySql 臨時表
今天在專案中遇到乙個,當mysql的in語句中資料量很大時,建立乙個臨時表的例子。於是樓主整理了一下關於臨時表的知識,與大家分享一下 首先,臨時表只在當前連線可見,當關閉連線時,mysql會自動刪除表並釋放所有空間。因此在不同的連線中可以建立同名的臨時表,並且操作屬於本連線的臨時表。建立臨時表 cr...
mysql 臨時表 限制 Mysql臨時表
當你建立臨時表的時候,你可以使用temporary關鍵字。如 create temporary table tmp table name varchar 10 not null,passwd char 6 not null 或create temporary table if not exists ...
mysql怎麼是臨時表 MySQL臨時表
在本教程中,我們將討論mysql臨時表,並演示如何建立,使用和刪除臨時表。mysql臨時表簡介 在mysql中,臨時表是一種特殊型別的表,它允許您儲存乙個臨時結果集,可以在單個會話中多次重用。當使用join子句查詢需要單個select語句的資料是不可能或遇到瓶頸的時候,臨時表非常方便。在這種情況下,...