zoukankan      html  css  js  c++  java
  • mysql不支持在子查询中使用limit解决办法

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

    字面意思就是不支持在子查询中使用limit关键字。

    经过搜索,找到了替代解决方法。


    就是在limit的子查询外层再加一层子查询。

    比如:

    原先可能是报错的sql语句是:select * from cidy where id in (select id from cidy limit 0,10);

    经过修改的sql就是:select *from cidy where id in (select id from (select id from cidy limit 0,10));

    经过测试,修改过的sql语句执行时报错:Every derived table must have its own alias。

    错误的字面意思是:需要别名

    从上面的sql语句中可以看到,我们多加的一层sql不仅没有别名更没有表名,会不会在这里出问题呢?测一下就知道了~

    经过修改后的sql语句就是:select *from cidy where id in(select id from(select id from cidy limit 0,10) as cd);

    经过测试,如我们所想,终于成功了。

    分享促进成长
  • 相关阅读:
    Bash 小问题【待更新】
    进程动态优先级调度
    密码
    [Noi2016]优秀的拆分
    [Tjoi2016&Heoi2016]字符串
    [BZOJ 1901]Dynamic Rankings
    [HDU 2665]Kth number
    [BZOJ 4310]跳蚤
    [Sdoi2008]Sandy的卡片
    [Usaco2007 Dec]队列变换
  • 原文地址:https://www.cnblogs.com/hpzyang/p/15396564.html
Copyright © 2011-2022 走看看