我回來了與另一個MySQL查詢問題。這次,在給定時間範圍內,我需要選擇客戶上次訂單的日期以及客戶在該時間範圍內訂單的總數。SELECT COUNT,GROUP BY,ORDER BY
的(剝離)查詢是這樣的:
SELECT
customers_id,
customers_name,
date_purchased,
count(*) as total_order
FROM orders
GROUP BY customers_id;
顯然date_purchased回到那裏是時間範圍內的客戶的最後一個訂單的沒有,但我可以不按組前預訂,是無論如何要解決這個問題?例如,我應該先排序,然後按(嵌套選擇)排序?
將'customers_name'添加到GROUP字段有什麼意義? ID顯然更獨特。 – Slava 2012-02-04 09:07:03
可能因爲我來自SQL Server而不是MySQL背景MSSQL要求在GROUP BY中指定所有字段(如果它們未彙總) - 我猜MySQL不? – 2012-02-04 09:10:39
我明白了。那不好意思了。是的,MySQL不需要GROUP BY中的所有未聚合字段,只是放置它看到的最後一個值。 – Slava 2012-02-04 09:12:32