0

再一次,任何 Mysql 专家可以帮助我使用 Mysql 语句吗?我所拥有的:2 个与外键 userid 和 balanceID 连接的表在此处输入图像描述

我需要什么:我需要找到可以说债务的 MAX 值和可以说贷款的 MIN 值的行,我期望从这个语句中找到最高价值的债务和最低的贷款(1 行),例如:在这个如果是行 name2 | 200 | 40. 这可能吗?已完成研究并找不到解决方案,任何帮助表示赞赏。

4

2 回答 2

1

只是基于您的最小数据集的猜测,但可能类似于:

select top 1 balanceID, balance, debt, loan
from Balance
order by debt - loan desc

如果您想按 分组UserID,例如:

select b.balanceID, b.balance, b.debt, b.loan
from Balance b
inner join (
    select UserID, max(debt - loan) as MaxDebt
    from Balance
    group by UserID
) bm on b.UserID = bm.UserID and (b.debt - b.loan) = MaxDebt
于 2012-09-25T15:38:10.480 回答
0

JOIN只能从第二个表中获得具有最小贷款和最大余额的两个表,如下所示:

SELECT u.name, t.balance, t.loan
FROM users u 
INNER JOIN
(
    SELECT *
    FROM table2 
    WHERE balance = (SELECT MAX(balance) FROM table2)
      AND debt    = (SELECT MIN(loan) FROM table2) 
 ) t ON -- JOIN condition
于 2012-09-25T15:37:43.920 回答