mysql - 使用 COUNT、GROUP BY、ORDER BY 选择

标签 mysql

我带着另一个 mysql 查询问题回来了。这次,给定一个时间范围,我需要选择客户最后一次下订单的日期以及该客户在该时间范围内下的订单总数。

(剥离的)查询是这样的:

SELECT 
   customers_id, 
   customers_name, 
   date_purchased, 
   count(*) as total_order 
FROM orders 
GROUP BY customers_id;

显然返回的date_purchased 不是客户在时间范围内的最后一个订单,但是我不能在group by 之前订购,有什么办法解决这个问题吗?例如,我应该先订购,然后按(嵌套选择)分组吗?

最佳答案

select customers_id,
       customers_name,
       MAX(date_purchased) as last_purchase,
       count(*) as total_order
from orders
group by customers_id,customers_name; 

关于mysql - 使用 COUNT、GROUP BY、ORDER BY 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9139673/

相关文章:

php - #1136 - 列数与第 1 行的值数不匹配

mysql - 为什么 MySQL 8 IF 和 IFNULL 在测试值为 NULL 的变量时返回 BLOB 结果?

mysql - mysql 5.5.40 中的更新后触发器

mysql - Drupal 缓存不工作(表为空)

php - 子查询 PHP 显示 0 结果

php - 使用 MySQL 查询选择不同的选择选项时显示不同的潜水

php - 按品牌显示包含产品信息的关联数组

mysql - on 子句中的未知列 {0}

php - 在多个字段中查找多个字符串

Toad for MySQL 上的 MySQL 样式选项卡