首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MYSQL表中选择10+ num_rows结果

从MYSQL表中选择10+ num_rows结果
EN

Stack Overflow用户
提问于 2015-02-21 14:44:55
回答 2查看 49关注 0票数 1

有人能告诉我这个mysql查询有什么问题吗?

代码语言:javascript
复制
$p = mysql_query("SELECT name,subname FROM brands GROUP BY name WHERE 
having count(*) > 10 ORDER BY RAND() LIMIT 1")or die(mysql_error()); 

上面写着:

您的SQL语法出现了错误;请检查与您的MySQL服务器版本相对应的手册,以便在第1行使用接近于“由RAND()限制1顺序计数(*)> 10次”的正确语法。

EN

回答 2

Stack Overflow用户

发布于 2015-02-21 14:56:59

HAVING不使用WHERE子句,请删除它。

代码语言:javascript
复制
$p = mysql_query("SELECT name,subname FROM brands GROUP BY name  
having count(*) > 10 ORDER BY RAND() LIMIT 1")or die(mysql_error()); 

咨询:

  • http://www.mysqltutorial.org/mysql-having.aspx
  • http://dev.mysql.com/doc/refman/5.0/en/group-by-handling.html

您应该考虑使用prepared statementswith prepared statements切换到mysql_*,因为mysql_*函数是不推荐的。

票数 2
EN

Stack Overflow用户

发布于 2015-02-21 14:51:33

删除WHERE子句,您已经有了一个HAVING子句。

因此,你的声明必须是:

代码语言:javascript
复制
$p = mysql_query("SELECT name,subname FROM brands GROUP BY name HAVING count(*) > 10 ORDER BY RAND() LIMIT 1")or die(mysql_error()); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28647051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档