我有这个问题:
查找每个帐户,他的最后一笔交易,4月份,所有人 帐户使用美元。结果应输入: a)帐户 码 b)最后一笔交易的代码(如果一天内有两笔交易,您应该输入前面的代码 最新交易) c)最后一笔交易的日期。
我的问题是:如何比较一个帐户的所有日期?
SELECT DISTINCT
accounts.account_id
,transactions.trn_code
,transactions.trn_date
FROM accounts
inner join transactions on accounts.account_id = transactions.account_id
WHERE
accounts.account_currency = 'DOL'
and transactions.trn_date = MAX(transactions.trn_date)
and transactions.trn_date >= 01/04/2016 and transactions.trn_date <= 31/4/2016
这会导致错误(当然),因为我无法像这样使用MAX。但我想我必须找到每个帐户本月的最长交易日期。这个想法是对的? 我怎样才能做到这一点?有什么想法吗?
答案 0 :(得分:1)
SELECT accounts.account_id, transactions.trn_code , transactions.trn_date
FROM accounts inner join transactions on accounts.account_id = transactions.account_id
WHERE accounts.account_currency = 'DOL'
and transactions.trn_date >= 01/04/2016 and transactions.trn_date <= 31/4/2016 and transactions.trn_date=(Select MAX(transactions.trn_date) from transactions)
group by transactions.trn_code , transactions.trn_date,accounts.account_id