sql取出最新数据中的最大值?

如题:
mysql数据库中,通过sql按照时间排序取出最新的50条商品数据,并且用while输出。
同时,也需要取出这50条数据中最热门或者是点击量最高的1条或者多条数据,该怎么做?

补充说明,有点击量统计字段。。。只是需要既能输出最新的50条数据,也想得到其中最大的1条数据

阅读 5.4k
5 个回答
  1. 描述不清楚 揣测回答

select * from table where 条件 orderby id DESC 点击量 DESC limit 50
循环的时候 拿第一条不就行了?

假如不想打乱时间顺序。
去掉点击量排序,
关注下mysql的max()的用法

  1. 别的解决思路:

你可以先按照时间顺序 加点击量顺序 取出 50条数据 。取第一条点击数最大的
然后根据php函数按时间重排序

array_multisort()

如果你要获得点击量最高的,再增加一个点击量字段呗.

存redis设置过期时间,每被点击一次续一次过期时间
存mysql就是添加一个点击数的字段,点击一次就+1

列出实际的业务场景,才能设计出合理的数据结构

新手上路,请多包涵
#点击数最大的一个产品
select id, product_name, max(product_hits) from products;

#最新50条数据
select * from emp order by sal desc limit 50;

分别取两次数据再使用这些数据,哪有sql里面又取最大值又列出全部数据的?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题