技术饭

MySQL如何查询每一个栏目下价格最高的商品?

copylian    0 评论    46661 浏览    2017.06.21

MySQL如何查询每一个栏目下价格最高的商品?这里是使用子查询中group by出价格最大与分类id信息,然后再上一级查询中进行数据比较筛选相应的信息,然后再进行group by操作!

查找每个栏目下最贵的商品信息,其中borrow_type_id是分类id,borrow_account是价格

SELECT * FROM jdt_borrow a,(
      SELECT borrow_type_id,MAX(borrow_account) AS borrow_account 
  FROM jdt_borrow 
  GROUP BY borrow_type_id) b
WHERE a.borrow_type_id = b.borrow_type_id AND a.borrow_account = b.borrow_account
GROUP BY a.borrow_type_id

网上的解决方案:

假设有下面这样一张表:我们要用MySQL查询出每个栏目下最贵的那一个商品。

1.jpg

查询的结果在内存中可以当做一张表来看待,可以对这张表进行再次查询,具体细节如下图所示:

2.jpg

但是网上的这个方法似乎设计到数据库的一个group by问题就是无法筛选出大的价格一直是默认的,如果有这个问题可以查看一下数据库的模式:sql_mode的only_full_group_by。

实践SQL代码:查询点赞排行,获取某个时间内最高点赞数的视频记录进行GROUP BY排序

SELECT id,catid,user_id,name,MAX(zan) AS zan,create_time 

FROM (SELECT id,catid,user_id,name,zan,create_time FROM aikehou_course_list WHERE create_time BETWEEN '2019-08-01 00:00:00' AND '2019-08-10 00:00:00' ORDER BY zan DESC) AS tmp 

GROUP BY user_id 

ORDER BY zan DESC LIMIT 50;

只袄早~~~
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!

文明上网理性发言!

  • 还没有评论,沙发等你来抢