【问题标题】:Count number of identical rows in MySQL with PHP用PHP计算MySQL中相同行的数量
【发布时间】:2011-07-11 21:12:53
【问题描述】:

我在 MySql 中有一个包含关键字列表的表。用户在此站点上输入每个关键字后,都会将其存储在新行中。

我在 PHP 中有以下查询:

SELECT * FROM keywords GROUP BY query

它从 MySql 中获取所有关键字,并且在重复关键字的情况下只显示一个。所以输出是这样的:

Dog
Cat
Lion
Fong

当我使用$update['query'];

但我想计算每个关键字在数据库中出现的次数,所以输出例如:

Dog  (2)
Cat  (3)
Lion (1)
Fong (1)

我正试图弄清楚 SQL 查询应该是什么,以及如何使用 PHP 打印它。

【问题讨论】:

  • 目前我对最简单的解决方案感到满意,但如果您有创意,我很想学习如何在区分/不区分大小写的情况下执行此操作。

标签: php sql count duplicates


【解决方案1】:

试试这个查询:

SELECT query, COUNT(1) AS rpt_count FROM keywords GROUP BY query

在 PHP 中,您可以使用 $update['query']$update['rpt_count'] 访问列

【讨论】:

    【解决方案2】:
    SELECT *, count(*) as cnt FROM keywords GROUP BY query
    

    【讨论】:

    • 或者,使用COUNT(*) AS count
    • @Ryan - 是的,应该有别名。已更新。
    【解决方案3】:

    使用SELECT *, COUNT(*) AS cnt FROM keywords GROUP BY query

    【讨论】:

      【解决方案4】:
      SELECT *, count(1) FROM keywords GROUP BY query
      

      【讨论】:

        【解决方案5】:
        SELECT query, COUNT(query) FROM keywords GROUP BY query
        

        【讨论】:

          【解决方案6】:
          SELECT keyword, COUNT(*) FROM keywords GROUP BY keyword;
          

          【讨论】:

            猜你喜欢
            • 2012-09-27
            • 2014-04-30
            • 1970-01-01
            • 2016-05-01
            • 2017-05-01
            • 2011-10-03
            • 2015-06-14
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多