我需要在 GROUP BY 子句之前进行排序,但是 MySQL 不想配合。
SELECT `article`, `date`, `aip`
FROM `official_prices`
WHERE `article` = 2003
GROUP BY `article`
ORDER BY `date` ASC
应该选择的行是日期最早的行 (2013-07-15),但它会选择按表顺序排在第一位的日期。更改为DESC
没有区别。
第一张图片显示了两行,未分组。第二张图片是他们被分组。
这个表是由一个主查询连接的,所以(我认为)任何涉及的解决方案LIMIT 1
对我都没有用。
完整查询:
SELECT `articles`.*, `official_prices`.`aip`
FROM `articles`
LEFT JOIN `official_prices`
ON (`official_prices`.`article` = `articles`.`id`)
GROUP BY `articles`.`id`, `official_prices`.`article`
ORDER BY `official_prices`.`date` ASC, `articles`.`name`