仿淘宝按热度进行商品排序:参与人数最多
2015-04-24 15:30
232 查看
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);
以上是个人对商品热度的解决办法!
商品表存储的只是商品的属性,购买明细表则是购买的记录表,一旦产生一个购买行为,就写入此表中!
现在有个需求:在正在出售的产品中按热度进行排序(热度:即购买人数最多的产品(人数不重复 ,如小白购买了两次,则仅算为一次),)
$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);
以上是个人对商品热度的解决办法!
相关文章推荐
- 织梦dedecms列表页点击按价格排序比如从高到低排序进行商品筛选
- Android实现淘宝体验的商品列表排序分类点击事件
- 针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
- (原创)Hibernate学生选课,实现课程按照学生人数进行排序的方法
- 截至2009年01月06日,CSDN参与人数最多的投票列表。
- python按综合、销量排序抓取100页的淘宝商品列表信息
- js 对商品价格进行排序
- 以淘宝商品搜索漫谈查询条件的排序对效率的影响(SQL查询性能优化,附调优(性能诊断)DMV)
- Python 自动化测试chrome driver(模拟浏览器进行爬取淘宝商品信息)
- 以淘宝商品搜索漫谈查询条件的排序对效率的影响(SQL查询性能优化,附调优(性能诊断)DMV)
- 队列和栈面试题(一)— 请编写一个程序,按升序对栈进行排序,要求最多只能使用一个额外的栈存放临时数据
- 以淘宝商品搜索漫谈查询条件的排序对效率的影响(SQL查询性能优化,附调优(性能诊断)DMV)
- 使用requests和re库对淘宝商品信息进行定向爬取
- Java技巧——实现Comparator接口来进行字符串逆向排序
- java中使用sort()对ArrayList进行排序
- 利用sort对数组进行自定义排序
- pandas通过索引进行排序
- C语言中将三个数字进行排序的几种写法
- Java对Map进行按值排序 (转)
- Java中Arrays类进行数组排序