某天,QQ上一個圈子內的網友發來一個求助信息:
PropID name Amount
3 元寶 2
2 數:
PropID name
3 元寶3 元寶
2
[註]:
3 元寶2
注意, 最後一列是2,就是有2筆這樣的記錄,要變成3 元寶3 元寶將最後記錄條數的列去掉,直接用重複的行來表示,所以依照此例,2 樂豆 3,要重複3條記錄,如下:
2 樂豆
2 樂豆2 樂豆
OK,搞定了,SQL如下:
select t1.propid,t1.name from tb t1,(select 1 as num union select 2 as num union select 3 as num ) t2 where t1.amount= t2. order by 1;
中間的
,(select 1 as num union select 2 as num union select 3 as num ) t2部份1自增到N,給個幾萬就好,然後關聯查方便一些自連接的sql判斷,select貌似也沒循環生成數字的功能。如下表nums
看到這裡的朋友,有更好的實作方法,請share下。以上就是MySQL 用數位輔助表實現複雜的列變行 的內容,更多相關內容請關注PHP中文網(www.php.cn)!