“mysql有多少搜索结果”帮助

Posted

技术标签:

【中文标题】“mysql有多少搜索结果”帮助【英文标题】:"how many search results from mysql" help 【发布时间】:2010-12-08 09:29:10 【问题描述】:

我得到了一些关于从 mysql 返回的行数的帮助,它工作正常...... 但是,如何获得具有特定字段值的行数? 我是否必须进行新的 Mysql 搜索查询?

这是我使用 fetch_array 查询 mysql 并在表中显示的代码......另外,我使用 mysql_num_rows 来获取行数。 那么如何获取具有特定字段值的行数呢?

$qry_result = mysql_query($query) or die(mysql_error());
$num_rows = mysql_num_rows($qry_result);
while($row = mysql_fetch_array($qry_result))

感谢大家的帮助

观察:我试图避免使用另一个 SELECT WHERE 子句... 有没有办法在没有其他搜索的情况下做我想做的事?

【问题讨论】:

您可以使用WHERE 子句(请参阅dev.mysql.com/doc/refman/5.0/en/select.html)指定查询结果必须匹配的某些条件。 【参考方案1】:

在您的查询中,您可以使用where 子句。 (select * from table where column1 = 'value')

另一种选择是在 while 循环中增加一个计数器变量:

$counter = 0;
while($row = mysql_fetch_array($qry_result))

    if($row[0] == "value")
       $counter++;

获得此计数器后,使用 mysql_data_seek($qry_result, 0); 重置结果集,然后继续原来的 while 循环。

【讨论】:

是的,但问题是我想在 while 循环之前显示字段数... 更新参考使用mysql_data_seek【参考方案2】:

有几种方法可以达到这个目的,要么对 MySQL 运行额外的查询,要么使用程序逻辑在迭代数组时计算你需要的内容。

从 MySQL 中获取行数是一项具有多种解决方案的任务。你可以盲目调用 SELECT count(*) FROM table WHERE foo = bar,或者使用数据库更高级的 SQL_CALC_FOUND_ROWS 变量。

如果你能更好地解释自己,我很乐意提供一个好的解决方案!

【讨论】:

【参考方案3】:

观察:我试图避免使用另一个 SELECT WHERE 子句...有没有办法在没有另一个搜索的情况下做我想做的事?

我很好奇你为什么不想使用另一个 SELECT WHERE 子句?

根据我对您问题的解释,您要求获得给定查询的行数和唯一变量的计数?

例如:

NAME  AGE
Joe   15
Simon 13
Simon 16
Joe   21
Mary  15
Joe   28

您的行数将是 6,而您的行数(您请求的)将是:

Joe x 3
Simon x 2
Mary x 1

如果这就是您要问的,为什么不使用 2 个查询,1 个用于您的数据集,以及另一个您 GROUP BY 'name' 并仅返回 UNIQUE 'name' 结果的查询?这会让你计算出你的“某些领域”。

如果我误解了你的问题,请再次纠正我。

【讨论】:

以上是关于“mysql有多少搜索结果”帮助的主要内容,如果未能解决你的问题,请参考以下文章

SAP CRM 在Web UI中创建搜索帮助

SAP CRM 在Web UI中创建搜索帮助

从帮助菜单中删除(或自定义)“搜索”

WDA基础十:OVS搜索帮助的使用

需要帮助才能使用 YouTube 搜索 API 获得 100 多个结果

Linux基础篇帮助与搜索