php - mysql 一張表格根據另一張表格的欄位數量排序查詢
滿天的星座
滿天的星座 2017-05-16 12:58:36
0
2
479

現在有一個小說資訊表A(只是小說的匯總資訊),小說的章節資訊會放在小說id%100的那張表B上(比如A表小說id為1245,那它的章節數據就會放在chapter_45這張表上,小說資訊會以id隨機分佈在100張上),現在我想查尋出以B表上章節數量(count(*))倒序排列的A表小說信息,我寫了sql語句:
select i.id,i.siteid,count(*) as s from ptcms_novelsearch_info as i join ptcms_novelsearch_chapter_i.id%100 as c on c.novelid = i.id and c.siteid=UP.site. id order by s desc limit 20;
會報%100語法錯誤的錯,因為章節表沒法確定(有100個小說章節資訊表),求大神解答如何實現這一需求

滿天的星座
滿天的星座

全部回覆(2)
迷茫

這個就是水平分錶的概念了吧直接去一個實例的一個庫查100張表的信息你必須union所有的表去查因為你不知道哪些表保存的是你要的數據mysql自己就更不知道了這顯然是不合理的所以你這樣的業務模式應該使用分錶處理比如借助mycat A和B表都按照小說id分錶,你只需要在mycat裡配置好然後直接select A join B on A.id =B.id即可

我想大声告诉你

由於表名是變數,不能直接使用.你應該使用動態sql去拼接sql語句.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!