我们有一个名为" Sales"的MySQL SQL表。包含3列数据:Account_ID,Spend_Date和Spend_Amount。我们为每个帐户存储一行,并且每天都有活动,下面是几行示例数据:
如何编写SQL查询,将输出数据分为两列:1)Account_ID,以及2)记录中帐号的Spend_Amount最高的日期?
答案 0 :(得分:2)
一种方法是使用聚合查询来获取每个帐户的最大支出金额。然后将其连接回原始数据以获取日期信息:
select s.*
from sales s join
(select account_id, max(spend_amount) as maxsa
from sales
group by account_id
) ss
on s.account_id = ss.account_id and s.spend_amount = ss.maxsa;
答案 1 :(得分:-1)
你应该这样做:
select Account_ID,Spend_Data from Sales order by Spend_Amount desc;
以这种方式返回记录列表。第一个是您正在寻找的