文章詳情頁(yè)
mysql - SQL取每個(gè)外鍵前幾條記錄
瀏覽:145日期:2022-06-19 16:33:56
問(wèn)題描述
如果我有張SQL表 有一列(一般是外鍵)是 B我想取B值為 1,2,3 的記錄 但是每個(gè)值最多只去8條記錄就夠了除了:
SQL全部取出來(lái),再在程序里處理獲取每個(gè)8條(缺點(diǎn):如果記錄很多的話浪費(fèi)資源)
運(yùn)行3條SQL,一個(gè)個(gè)值的8條取出來(lái)(缺點(diǎn),如果我要取的值不止3個(gè)的話 要執(zhí)行的SQL太多?)
還有其他更好的辦法嗎?
PS:我試用在MySQL用 UNION 語(yǔ)句行不通,因?yàn)閁NION 只有最后一個(gè)limit 起作用。
問(wèn)題解答
回答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ù)同步問(wèn)題,每個(gè)數(shù)據(jù)庫(kù)都包含相同數(shù)據(jù)?下一條:mysql中的全文索引支持詞根檢索嗎?
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問(wèn)題2. docker - 如何修改運(yùn)行中容器的配置3. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.4. nignx - docker內(nèi)nginx 80端口被占用5. python3.x - python連oanda的模擬交易api獲取json問(wèn)題第五問(wèn)6. javascript - QWebEngineView 如何爬 angular 的動(dòng)態(tài)數(shù)據(jù)?7. css3 - 沒(méi)明白盒子的height隨width的變化這段css是怎樣實(shí)現(xiàn)的?8. javascript - webpack熱加載配置不生效9. java - SSH框架中寫分頁(yè)時(shí)service層中不能注入分頁(yè)類10. java - instance method中 static后的<K>是什么意思?
排行榜

熱門標(biāo)簽