mysql limit subquery,替代在MYSQL中的SubQuery中使用LIMIT关键字

I have a table TEST with the following columns :

code_ver (VARCHAR)

suite (VARCHAR)

date (DATE)

Now I want to select 10 rows with a distinct value of code_ver & code_ver NOT LIKE '%DevBld%' sorted by date desc.

So I wrote the following query:

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);

This query should ideally work, but my version of MySQL says : This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

Can someone suggest me an alternative to this query?

解决方案

The error you are getting is not exactly because of the version of MySQL. I think all versions support that. You have to change the LIMIT 10 place and place it after ")". Let me know if it works for you. I ran the bellow one on mine and it works.

E.g.

SELECT * FROM test where name IN (

SELECT DISTINCT name

FROM projects

WHERE name NOT LIKE "%DevBld%"

ORDER by date_created DESC

) LIMIT 10;

Update: Try the one below, this way order would work:

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值