我需要執行排序之前 GROUP BY子句,但MySQL不想合作。GROUP BY之前排序 - 不工作
SELECT `article`, `date`, `aip`
FROM `official_prices`
WHERE `article` = 2003
GROUP BY `article`
ORDER BY `date` ASC
應該挑選該行是一個從最早的日期(2013年7月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`
看到我的完整查詢。我在哪裏可以在JOIN中添加一個「LIMIT 1」子句? – silkfire
GROUP_CONCAT解決方案如此駭人聽聞。當然,MySQL一定比這更好的設計了? – silkfire