我有一个带有以下各列的表TEST:
code_ver (VARCHAR) suite (VARCHAR) date (DATE)
现在我想选择10个行,其c的值不同ode_ver & code_ver NOT LIKE '%DevBld%' sorted by date desc.
ode_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版本说:
此版本的MySQL尚不支持“ LIMIT&IN / ALL / ANY / SOME子查询”
有人可以建议我替代此查询吗?
您收到的错误并非完全是由于MySQL版本引起的。我认为所有版本都支持。您必须更改LIMIT 10的位置,并将其放置在“)”之后。请让我知道这对你有没有用。我在我身上跑了一个风箱,它起作用了。
例如
SELECT * FROM test where name IN ( SELECT DISTINCT name FROM projects WHERE name NOT LIKE "%DevBld%" ORDER by date_created DESC ) LIMIT 10;
更新:尝试以下一种,这种方式可以正常工作:
SELECT * FROM automation.e2e_projects WHERE name IN ( SELECT DISTINCT name FROM automation.e2e_projects WHERE name NOT LIKE "%DevBld%" ) ORDER by date_created DESC LIMIT 10;