GROUP CONCAT與LIMIT並存的技巧

2021-06-03 04:55:03 字數 686 閱讀 5920

我於去年12月初在論壇求教了高手後知道了答案,這個是在培訓中學不到的,呵呵。

在使用了group_concat後,如果不使用group by,會將所有的資料合併在一起,並且limit是沒有任何效果的。

當時我的需求很簡單:我有一萬條文章資料要進行替換,我想每次替換一百條。當然,也有朋友說可以在mysql裡面用正則,這個是後話,我們要求就是將資料合併取出,處理後又放回去。很的道理,如果我能一次取100條資料,那麼我就少了99*100次查詢,99*100次正則替換。為了能夠放回去的時候,我將文章id也讀取了出來,用特別的符號與正文分隔拼接讀取

group_concat(concat_ws('$$$$$',s_id,s_vdata)

求教了高手,最終的解決方案就是用子查詢的limit獲取資料,但是,這也不算子查詢,因為子查詢並不支援limit。算的上從臨時表裡面讀資料吧

(select s_id,s_vdata from s_video where 1=1 and **** limit $start,$pagesize) t

這樣就組建了乙個臨時表,最終語法就是

select group_concat(concat_ws('%%%%',s_id,s_vdata) separator '%%%%%%') as data from (select s_id,s_vdata from s_video  limit $start,$pagesize) t

Group concat介紹與例子

進公司做的第乙個專案就是做乙個訂單追蹤查詢,裡裡外外連線了十乙個表,作為公司菜雞的我麻了爪.其中有乙個需求就是對於多行的資料在一行顯示,原諒我才疏學淺 無奈下找到了專案組長 在那學來了這個利器 他就是我心目中的小sql王 完整語法如下 group concat distinct 要連線的字段 ord...

Group concat介紹與例子

進公司做的第乙個專案就是做乙個訂單追蹤查詢,裡裡外外連線了十乙個表,作為公司菜雞的我麻了爪.其中有乙個需求就是對於多行的資料在一行顯示,原諒我才疏學淺 無奈下找到了專案組長 在那學來了這個利器 他就是我心目中的小sql王 完整語法如下 group concat distinct 要連線的字段 ord...

Group concat介紹與例子

進公司做的第乙個專案就是做乙個訂單追蹤查詢,裡裡外外連線了十乙個表,作為公司菜雞的我麻了爪.其中有乙個需求就是對於多行的資料在一行顯示,原諒我才疏學淺 無奈下找到了專案組長 在那學來了這個利器 他就是我心目中的小sql王 完整語法如下 group concat distinct 要連線的字段 ord...