99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-02-25 閱讀量: 739
SQL取每個(gè)外鍵前幾條記錄

問題描述:

如果有張SQL表 有一列(一般是外鍵)是 B
想取B值為 1,2,3 的記錄 但是每個(gè)值最多只去8條記錄就夠了
除了:

  1. SQL全部取出來,再在程序里處理獲取每個(gè)8條(缺點(diǎn):如果記錄很多的話浪費(fèi)資源)
  2. 運(yùn)行3條SQL,一個(gè)個(gè)值的8條取出來(缺點(diǎn),如果我要取的值不止3個(gè)的話 要執(zhí)行的SQL太多?)

還有其他更好的辦法嗎?

解決方法:

select fid, id from (select fid, id, @rank := if(@current_fid = fid, @rank + 1, 1) as rank, @current_fid := fid from your_table order by fid, id desc) ranked where rank <= 8;

0.0000
2
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子