这是在rails应用程序上为ruby编写的mysql代码
Model.find_by_sql(["SELECT * FROM domainurls WHERE domaindetail_id = ?",@id ,"and count IN (SELECT Max( count ) FROM domainurls WHERE domaindetail_id =?",@id,")"])
它给了我错误
"error is: wrong number of arguments (0 for 1)"
任何人都可以知道代码中的错误吗?
答案 0 :(得分:1)
这里需要两个查询中的数据,因为IN可以搜索数组中的数据。 您的查询
(SELECT Max( count ) FROM domainurls WHERE domaindetail_id =?",@id,")
会返回很多列。
首先执行此查询并在数组中获取计数,然后执行第二次查询。
我想你已经理解了。
答案 1 :(得分:1)
关键字count
是一个保留字,所以你必须用``like:
... and `count` IN (SELECT Max( `count` ) FROM domainurls ...