在MySQL 5.0中,为什么尝试在FROM子句中创建带有子查询的视图时会发生以下错误?
错误1349(HY000):视图的SELECT在FROM子句中包含一个子查询
如果这是MySQL引擎的限制,那么为什么他们还没有实现此功能呢?
此外,对于此限制有什么好的解决方法?
是否有任何变通方法可用于FROM子句中的任何子查询,或者是否存在某些无法在FROM子句中使用子查询无法表达的查询?
查询示例(已包含在注释中):
SELECT temp.UserName FROM (SELECT u1.name as UserName, COUNT(m1.UserFromId) as SentCount FROM Message m1, User u1 WHERE u1.uid = m1.UserFromId Group BY u1.name HAVING SentCount > 3 ) as temp
您的查询不能只写成:
SELECT u1.name as UserName from Message m1, User u1 WHERE u1.uid = m1.UserFromID GROUP BY u1.name HAVING count(m1.UserFromId)>3
这也应该有助于解决MySQL中子查询的已知速度问题