仿淘宝按热度进行商品排序:参与人数最多



1.假设有两张表,一张是商品表,另外一张是商品购买明细表,
商品表存储的只是商品的属性,购买明细表则是购买的记录表,一旦产生一个购买行为,就写入此表中!

现在有个需求:在正在出售的产品中按热度进行排序(热度:即 购买人数最多的产品( 人数不重复 ,如小白购买了两次,则仅算为一次),)
$proids = SELECT proId    from product_detail  where proId IN(SELECT id from procuct where procuct  .adStatus='A' ) GROUP BY proId  count(DISTINCT(buyerId))  

将这些商品id查找出来后,再去商品表里查询即可。

查询时假如我们只是使用  in  操作,那么得出来的顺序还是错的,假如查出来的是(3,4,1,2,5),单单使用 in 操作,查询出来的则是1,2,3,4,5了,所以还需了解多一个知识点: MySQL 查询in操作,查询结果按in集合顺序显示 

 select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7);  

以上是个人对商品热度的解决办法!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值