加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在MySQL的子查询中是否有使用LIMIT的解决方法?

发布时间:2020-12-13 18:16:20 所属栏目:PHP教程 来源:网络整理
导读:这是我的原始查询…… SELECT `id` FROM `properties` LIMIT 10,20 LIMIT条件用于分页. 现在,我必须像以前一样得到所有,但我需要只有三分之一的行存在条件. 我想出了这个,只是在我弄清楚如何做之前扔了LIMIT 30(总行数匹配/ 3)* 2. SELECT `id` FROM `proper
这是我的原始查询……
SELECT `id`
  FROM `properties`
 LIMIT 10,20

LIMIT条件用于分页.

现在,我必须像以前一样得到所有,但我需要只有三分之一的行存在条件.

我想出了这个,只是在我弄清楚如何做之前扔了LIMIT 30(总行数匹配/ 3)* 2.

SELECT `id`
  FROM `properties`
 WHERE `id` NOT IN (SELECT `id` 
                      FROM `properties` 
                     WHERE `vendor` = "abc" 
                  ORDER BY RAND() 
                     LIMIT 30)
LIMIT 10,20

MySQL说……

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

我想我不能在子查询中使用LIMIT.

所以这是一个多问题但所有相关…

>子查询中有LIMIT的解决方法吗?
>我可以用MySQL选择1/3匹配的行吗?
>我是否需要将其转换为2个查询,或者只选择all并取消设置PHP中不需要的行?

如果您的MySQL版本不支持,那么您有2个选项:

>升级.总是很有趣,通常最好是最新版本.>使用php打破你的子查询.抓取id,然后将结果格式化为逗号分隔的字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读