我回来了与另一个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