我有一个交易表,我可以在其中插入交易,并保存每笔交易的当前总额(或余额)。我的 table 看起来像这样: 交易表
这里,
- transaction_id 是唯一主键
- user_id_1 是我的 PHP 文件通过 POST 收到的 user_id
- user_id_2 是与 user_id_1 进行过交易的好友 ID
- transaction_code 为 0 表示收款(减少 current_total),1 表示付款(增加 current_total)
- transaction_status 1 表示交易已确认
我想使用选择操作检索给定 user_id 的每个 friend 的最新当前总数。上表中 user_id_1 = '26' 的情况如下:
user_id_2 current_total
1 375
27 350
到目前为止,我已经想出了这个,但它没有按预期工作:
select user_id_2, current_total from transactiontable where user_id_1 = '$user_id' and (transaction_id=(SELECT MAX(transaction_id)) and transaction_status = '1')
最佳答案
您可以使用 GROUP BY 子句查找最高 ID,然后将其与原始表连接
类似这样的事情:
SELECT user_id_2, current_total
FROM transactiontable
INNER JOIN (
SELECT MAX(transaction_id) AS maxID
FROM transactiontable
WHERE user_id_1 = '26'
AND transaction_status = '1' GROUP BY user_id_2
) AS m
ON transaction_id=maxID
关于android - MySQL SELECT MAX() 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46986468/