gpt4 book ai didi

mysql - 在 MYSQL 的子查询中使用 LIMIT 关键字的替代方法

转载 作者:IT老高 更新时间:2023-10-28 23:54:30 27 4
gpt4 key购买 nike

我有一个包含以下列的表 TEST:

code_ver (VARCHAR)
suite (VARCHAR)
date (DATE)

现在我想选择 10 行具有不同值的 code_ver & code_ver NOT LIKE '%DevBld%' sorted by date desc。

所以我写了下面的查询:

select * 
from test
where code_ver IN (select DISTINCT code_ver
from test
where code_ver NOT LIKE '%DevBld%'
ORDER by date DESC LIMIT 10);

这个查询在理想情况下应该可以工作,但是我的 MySQL 版本说:

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

有人可以建议我替代此查询吗?

最佳答案

Layke 建议的答案在我的权限范围内是错误的。在子查询中使用限制的目的是让主查询在从子查询中获取的有限记录上运行。如果我们将 limit 限制在外面,那么它会使 limit 对子查询毫无用处。

由于mysql还不支持limit in subquery,你可以使用JOIN,如下所示:

       
SELECT * FROM test
JOIN
(
SELECT DISTINCT code_ver
FROM test
WHERE code_ver NOT LIKE '%DevBld%'
ORDER BY date DESC LIMIT 10
) d
ON test.code_ver
IN (d.code_ver)
ORDER BY xyz;

关于mysql - 在 MYSQL 的子查询中使用 LIMIT 关键字的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12810346/

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