gpt4 book ai didi

mysql - 动态mysql Select语句

转载 作者:行者123 更新时间:2023-11-29 07:06:14 25 4
gpt4 key购买 nike

我有一个像这样的表:

+-----------------------------+
| ID | ID_CONV | NAME | DATA |
| 1 | 1 | ALEX | DATA1 |
| 2 | 1 | ALEX | DATA2 |
| 3 | 2 | ALEX | DATA3 |
| 4 | 2 | ALEX | DATA4 |
| 5 | 3 | NIKO | DATA5 |
| 6 | 4 | ALEX | DATA6 |
| 7 | 4 | ALEX | DATA7 |
| 8 | 3 | NIKO | DATA8 |
+-----------------------------+

我想选择 alex 的数据,但仅限于最大 ID_CONV,有些像这样:

+-----------------------------+
| ID | ID_CONV | NAME | DATA |
| 6 | 4 | ALEX | DATA6 |
| 7 | 4 | ALEX | DATA7 |
+-----------------------------+

目前,为此,我必须请求 Alex 的最大 ID_CONV,然后使用此 ID_CONV 选择数据。

我的问题是是否可以提高这次咨询的效率

最佳答案

您可以找到每个名称的最大 id_conv 并将其与主表连接起来,如下所示:

SELECT t.*
FROM your_table t
INNER JOIN
( SELECT name, MAX(id_conv) id_conv FROM your_table GROUP BY name
) t2
ON t.name = t2.name
AND t.id_conv = t2.id_conv
WHERE t.name = 'ALEX';

这是一个(较慢的)相关查询:

SELECT *
FROM your_table t
WHERE t.name = 'ALEX'
AND id_conv IN
( SELECT MAX(id_conv) id_conv FROM your_table t2 WHERE t2.name = t.name
) ;

关于mysql - 动态mysql Select语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41511117/

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