gpt4 book ai didi

MySQL groupwise MAX() 返回意外结果

转载 作者:可可西里 更新时间:2023-11-01 07:35:28 29 4
gpt4 key购买 nike

表:贷款

Loan_no     Amount        SSS_no              Loan_date

7 700.00 0104849222 2010-01-03
8 200.00 0104849222 2010-02-28
9 300.00 0119611199 2010-11-18
10 150.00 3317131410 2012-11-28
11 600.00 0104849222 2011-01-03
14 175.00 3317131410 2012-12-05
15 260.00 3317131410 2013-02-08
16 230.00 0104849222 2013-03-06
17 265.00 0119611199 2011-04-30
18 455.00 3317131410 2013-03-10

期望的结果:

我想检索最近可用的贷款由每个人(通过他们的 SSS 号码识别)。这结果应该如下:

Loan_no           Amount                SSS_no                Loan_date

16 230.00 0104849222 2013-03-06
17 265.00 0119611199 2011-04-30
18 455.00 3317131410 2013-03-10

已使用查询#1:

选择 *
FROM贷款
按 SSS_no 分组
按 Loan_date DESC 排序

MySQL 结果

Loan_no             Amount              SSS_no                  Loan_date

10 150.00 3317131410 2012-11-28
9 300.00 0119611199 2010-11-18
7 700.00 0104849222 2010-01-03

使用的查询#2:

SELECT Loan_no, Amount, SSS_no, max(Loan_date)
FROM贷款
按 SSS_no 分组

MySQL 结果

Loan_no            Amount                SSS_no                Loan_date

7 700.00 0104849222 2013-03-06
9 300.00 0119611199 2011-04-30
10 150.00 3317131410 2013-03-10

谁能帮我解决我的问题?谢谢。

最佳答案

试试这个:

SELECT l1.*
FROM loan AS l1
INNER JOIN
(
SELECT SSS_no, MAX(Loan_date) LatestDate
FROM loan
GROUP BY SSS_no
) AS l2 ON l1.SSS_no = l2.SSS_no
AND l1.loan_date = l2.LatestDate;

SQL Fiddle Demo

这会给你:

| LOAN_NO | AMOUNT |     SSS_NO |  LOAN_DATE |
----------------------------------------------
| 16 | 230 | 104849222 | 2013-03-06 |
| 17 | 265 | 119611199 | 2011-04-30 |
| 18 | 455 | 3317131410 | 2013-03-10 |

关于MySQL groupwise MAX() 返回意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15613187/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com