面试题答案
一键面试db.orders.aggregate([
{
$group: {
_id: "$customer_id",
order_count: { $sum: 1 },
total_amount: { $sum: "$total_amount" }
}
},
{
$sort: {
total_amount: -1
}
}
]);
上述代码基于MongoDB进行实现,首先使用$group
操作符按customer_id
分组并计算订单总数和总金额,然后使用$sort
操作符按总金额降序排序。若使用其他数据库,语法会有所不同,例如在SQL中:
SELECT customer_id, COUNT(*) AS order_count, SUM(total_amount) AS total_amount
FROM orders
GROUP BY customer_id
ORDER BY total_amount DESC;
此SQL语句先按customer_id
分组统计订单数和总金额,然后按总金额降序排列。