mysql連表排序
問(wèn)題描述
表Aid info 1message12message23message3表Bid goods_id1 11 22 33 4
AB表id連表,查詢(xún)結(jié)果根據(jù)B表的相同id個(gè)數(shù)排序,例如id=1的在B表有兩個(gè),排在前面,id=2和id=3的只有一個(gè),排在后面,請(qǐng)問(wèn)mysql排序語(yǔ)句order by該怎么寫(xiě)?
問(wèn)題解答
回答1:select A.id, A.info, count(B.goods_id) from A inner join B on A.id = B.id group by A.id order by count(B.goods_id) desc回答2:
說(shuō)一下可用的sql語(yǔ)句,性能上不是太好,多了一次對(duì)表b的查詢(xún)。
select a.*, b.*from a inner join b on a.id = b.id inner join ( select id, count(*) as cnt from b group by id ) c on a.id = c.idorder by c.cnt, a.id回答3:
假如數(shù)據(jù)量會(huì)多的話(huà)。要是我,就重新考慮需求的合理性。能推掉就推掉。推不掉就在,a表加多一個(gè)冗余字段 goods_count。然后建聯(lián)合索引。
相關(guān)文章:
1. index.php錯(cuò)誤,求指點(diǎn)2. 微信chooseImage接口部分機(jī)型選擇圖片后莫名其妙的跳轉(zhuǎn)其他頁(yè)面3. css - 為什么設(shè)置了charset="UTF-8"中文還是亂碼呢?并且文件編碼也是UTF-8,用的sublime4. android - 新建項(xiàng)目卡在Gradle:Resolvedependencies’:app:_debugCompile’5. python小白,問(wèn)一個(gè)關(guān)于可變類(lèi)型和不可變類(lèi)型底層的問(wèn)題6. javascript - 如何判斷用戶(hù)切換到了當(dāng)前標(biāo)簽頁(yè)?7. python運(yùn)行后沒(méi)有任何反饋要怎么排查8. python - Pycharm的Debug用不了9. node.js - 微信小程序 +nodejs+socket.io bug10. html5 - 微信瀏覽器視頻播放失敗
