【问题标题】:Problem using LIMIT in a MySQL subquery?在 MySQL 子查询中使用 LIMIT 有问题吗?
【发布时间】:2011-09-21 07:54:25
【问题描述】:

我有一个如下的 SQL 查询

选择 * FROM epf_application WHERE application_idIN
(选择 application_id来自 epf_application_device_type在哪里 device_type_id 输入
(选择 device_type_id来自 epf_device_type在哪里 name="someDevice") 限制 30) 限制 30

当我在 phpMyAdmin 中运行它时,我收到以下错误

1235 - 此版本的 MySQL 尚不支持 'LIMIT & IN/ALL/ANY/SOME 子查询'

从错误中,我猜测将LIMIT 放在子查询中存在问题。关于如何解决这个问题的任何建议?

【问题讨论】:

  • 正如错误所说,该功能显然尚不支持。您可能需要弄脏手并使用临时桌子或其他东西。
  • 嵌套 SQL 查询的性能也很差。仅供参考
  • @FinalForm:确实,我认为大卫需要了解​​一下JOINS
  • @josh.trow 感谢您的提示。我会学习JOINS

标签: mysql sql phpmyadmin limit


【解决方案1】:
SELECT 
 ea.* 
FROM 
 epf_application ea JOIN epf_application_device ead 
  ON ead.application_id = ea.application_id 
 JOIN epf_device_type edt 
  ON edt.device_type_id = ead.device_type_id 
WHERE 
 edt.name = 'someDevice' 
LIMIT 30

【讨论】:

    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    相关资源
    最近更新 更多