作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于这个主题有很多问题,仍然无法找到解决这个问题的方法。
我正在做的查询是:
SELECT `b`.`ads_id` AS `ads_id`,
`b`.`bod_bedrag` AS `bod_bedrag`,
`a`. `ads_naam` AS `ads_naam`,
`a`.`ads_url` AS `ads_url`,
`a`.`ads_prijs` AS `ads_price`,
`i`.`url` AS `img_url`,
`c`.`url` AS `cat_url`
FROM `ads_market_bids` AS `b`
INNER JOIN `ads_market` AS `a`
ON `b`.`ads_id` = `a`.`id`
INNER JOIN `ads_images` AS `i`
ON `b`.`ads_id` = `i`.`ads_id`
INNER JOIN `ads_categories` AS `c`
ON `a`.`cat_id` = `c`.`id`
WHERE `i`.`img_order` = '0'
AND `b`.`u_id` = '285'
GROUP BY `b`.`ads_id`
HAVING MAX(b.bod_bedrag)
ORDER BY `b`.`bod_bedrag` ASC
但是,我一直看到的问题是我需要在 GROUP BY 发生之前对 b.bod_bedrag 进行排序。不知道怎么解释。
我现在得到的 bod_bedrag 是表格中最低的出价。我需要最高的。
像所有方法一样尝试过,甚至不使用 DISTINCT 进行分组。这也没有用。尝试按最大顺序订购,我知道或可以在互联网上找到的一切。
图1是没有group by的情况。 Order By 效果很好 (ofc)。 图 2 是分组依据。如您所见,最低出价被视为 bod_bedrag。我需要最高的。
最佳答案
根据你想要的输出来判断:
SELECT amb.ads_id,
MAX(amb.bod_bedrag) max_bod_bedrag,
am.ads_naam,
am.ads_url,
am.ads_prijs ads_price,
ai.url img_url,
ac.url cat_url
FROM ads_market_bids amb
JOIN ads_images ai
ON ai.ads_id = amb.ads_id
AND ai.img_order = 0
JOIN ads_market am
ON am.id = amb.ads_id
JOIN ads_categories ac
ON ac.id = am.cat_id
WHERE amb.u_id = 285
GROUP BY amb.ads_id,
am.ads_naam,
am.ads_url,
am.ads_prijs,
ai.url,
ac.url
ORDER BY max_bod_bedrag ASC
我还删除了所有不必要的反引号和同名列的别名。您的 HAVING
没有做任何事情,因为所有组都“拥有”一个 MAX(amb.bod_rag)
。
关于mysql - 订购 Group BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308181/
我是一名优秀的程序员,十分优秀!