0

我不是 PHP 专家,尽管我一直在处理一些东西,从这里和那里复制和粘贴,我想问一些我找不到的东西,我对如何实施它。

例如,在这样的表中:

    +------+-----+
    |NAME  |BIRTH|
    +------+-----+
    |John  |1980 |
    |Carl  |1982 |
    |Alice |1990 |
    |June  |1994 |
    |Rob   |1998 |
    |Alice |1998 |
    |John  |2000 |
    |Alice |2001 |
    |Etc.  |     |
    +------+-----+

我做了不同的查询,如下所示(我可以继续用任何年份组合进行查询):

  1. Select * from table where BIRTH between 1980 and 1990
  2. Select * from table where BIRTH between 1980 and 2001
  3. Select * from table where BIRTH between 1990 and 2001

所以我会得到 3 个不同的表,我需要从这些表中计算不同的内容,例如,从使用 query1 获得的表中我需要获取:

   John = 1
   Carl = 1
   Alice = 1

从查询表2:

   John = 2
   Carl = 1
   Alice = 3
   June = 1
   Rob =1

从查询表3:

   Alice = 3
   John = 1
   Carl = 1
   June = 1
   Rob =1

记住大表有 700 条记录,所以它可以出现任何新名称,我需要以同样的方式打印出结果:

   Alice = 3
   John = 1
   NewName = 1
   June = 1
   Rob =1

我的最终目标是与获得的表格相关的百分比,而不是与寄存器总数相关的百分比。

4

1 回答 1

3

您应该在 SQL 中执行此操作,而不是在 PHP 中:

select NAME, count(1)
from TABLE
where condition
group by NAME

这将产生您想要的确切视图。名称作为第一列,计数在第二列。

于 2012-10-11T12:24:43.107 回答