作者carlcarl (carl)
看板Database
标题Re: [SQL ] 一项产品怎麽查询被那些人给加入追踪
时间Sat Aug 13 03:26:37 2011
※ 引述《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)
1F:→ carlcarl:不然看要不要再建一个统计数量用的表 最快XD 08/13 03:35