文章詳情頁
mysql - SQL取每個(gè)外鍵前幾條記錄
瀏覽:240日期:2022-06-19 16:33:56
問題描述
如果我有張SQL表 有一列(一般是外鍵)是 B我想取B值為 1,2,3 的記錄 但是每個(gè)值最多只去8條記錄就夠了除了:
SQL全部取出來,再在程序里處理獲取每個(gè)8條(缺點(diǎn):如果記錄很多的話浪費(fèi)資源)
運(yùn)行3條SQL,一個(gè)個(gè)值的8條取出來(缺點(diǎn),如果我要取的值不止3個(gè)的話 要執(zhí)行的SQL太多?)
還有其他更好的辦法嗎?
PS:我試用在MySQL用 UNION 語句行不通,因?yàn)閁NION 只有最后一個(gè)limit 起作用。
問題解答
回答1:假設(shè)fid是外鍵字段,id是主鍵字段
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;
上一條:mysql主從 - 關(guān)于mysql數(shù)據(jù)庫(kù)同步問題,每個(gè)數(shù)據(jù)庫(kù)都包含相同數(shù)據(jù)?下一條:mysql中的全文索引支持詞根檢索嗎?
相關(guān)文章:
1. phpstudy8.1沒集成mysql-front2. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題3. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法4. docker鏡像push報(bào)錯(cuò)5. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””6. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????7. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!8. html5 - datatables 加載不出來數(shù)據(jù)。9. 前端 - @media query 使用出現(xiàn)的問題?10. html5和Flash對(duì)抗是什么情況?
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備