→ carlcarl:不然看要不要再建一個統計數量用的表 最快XD 08/13 03:35
※ 引述《knives ()》之銘言:
: 我的DBMS是Mysql
: 我現在有3個table: product //產品的
: add_trace //記錄追蹤的
: users //使用者的
: 其中 product的主要欄位: p_id :產品的主鍵、name :產品名稱
: users 的主要欄位: uid: 用戶的主鍵、username:用戶名稱
: 然後 add_trace的主要欄位: p_id : 直接關聯到product的p_id
: uid : 直接關聯到user的 uid
: 我的想法是 在做一個列出product 的功能的同時列出該產品已經被多少人加入追蹤
: 我本來的想法是先列出 同頁所有的product,再到add_trace利用product的p_id
: 找出該p_id有多少筆資料
: 但是這樣寫就要執行n+1次的sql語法(如果該頁有n筆產品數量)
: 不知道有沒有更快速的方法
: 謝謝回答
先抓出要的p_id 例如有1~4的話
做成這樣的格式-> (1, 2, 3, 4)
select count(*) from add_trace where p_id in (1, 2, 3, 4) group by p_id
得出來的結果會類似這樣
count(*)
12
22
3
4
這樣只需要呼叫兩次
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.66.139
※ 編輯: carlcarl 來自: 114.47.66.139 (08/13 03:27)