Problem with LIMIT & IN/ALL/ANY/SOME subquery
我有这个问题:
1 2 3 4 5 |
这个想法是计数将基于嵌套查询的结果,该查询检索除第一条记录外的该客户的所有记录。
但是,我收到了这个错误,我认为这是一个漂亮的终端:
1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
有没有人知道这样做的任何其他方式?
谢谢
这就是您需要继续进行的方式。请参阅我制定的示例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | mysql> select * from test; +------+-------+ | id | name | +------+-------+ | 1 | name1 | | 2 | name2 | | 3 | name3 | | 4 | name4 | +------+-------+ 4 rows in set (0.00 sec) mysql> select * from test1; +------+------+--------+ | id | tid | name2 | +------+------+--------+ | 1 | 2 | name11 | | 2 | 3 | name12 | | 3 | 4 | name13 | +------+------+--------+ 3 rows in set (0.00 sec) mysql> select -> t1.name -> from -> test t1 -> join -> test1 t2 on t2.tid = t1.id -> join -> (select id from test where id <4 limit 3) as tempt on tempt.id = t1.id; +-------+ | name | +-------+ | name2 | | name3 | +-------+ 2 rows in set (0.00 sec) |
希望这会有所帮助。
您不需要使用子查询来检索所有记录,只需排除第一个:
FROM CustPrimarySmoking cp
JOIN Customer c ON cp.CxID = c.CustomerID
WHERE cp.CxID > (SELECT cxID FROM CustPrimarySmoking ORDER BY cxID LIMIT 1)
假设 cxid 是数字
如果您想获得"每个组的前 N ??行"之类的东西,这个限制会很痛苦。但是在您的情况下,即使可能,我也不会使用该功能。您尝试做的是计算除每个
您还可以将内部查询进行双重嵌套以绕过此限制,请参阅:
带限制的Mysql删除语句