正如标题所示,我想选择与 GROUP BY
分组的每组行的第一行。
具体来说,如果我有一个 purchases
表,如下所示:
SELECT * FROM purchases;
我的输出:
ID顾客全部的1乔5 2莎莉3 3乔2 4莎莉1
我想查询每个 id
的最大购买量( total
)的 customer
。像这样的东西:
SELECT FIRST(id), customer, FIRST(total)
FROM purchases
GROUP BY customer
ORDER BY total DESC;
预期输出:
第一(身份证)顾客第一(总) 1乔5 2莎莉3
原文由 David Wolever 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 支持 CTE 和窗口函数 的数据库上:
任何数据库都支持:
但是您需要添加逻辑来打破关系: