想知道某个值在给定日期出现的次数

时间:2012-03-27 16:05:53

标签: php mysql

我将尝试以尽可能简单的方式解释这一点。我希望能够计算每天在数据库表中输入值的次数。

基本上,如果输入数据一旦计算为单一数据,如果数据输入两次,则计算为双倍,如果数据输入三次,则计为高音。

然后,我希望能够计算在一定时间范围内(每年的4月到4月)出现多少单曲,双打和三重奏。然后当然回复它们到php页面如下:

单打 - 23 双打 - 69 Trebles - 3

我尝试在数据库表中添加一个round_id列,因为我认为这是默认值1并且我可以以某种方式计算每天会出现多少1个可用的但我完全卡住了。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

如果我理解你是对的,那么我们可以在白天得到一个计数:

SELECT COUNT(*) AS cnt, `date`
FROM `table`
GROUP BY `date`

这将为您提供每天的记录数。

然后我们可以将其包装在另一个查询中:

SELECT dailycount.daycnt AS `type`, COUNT(*) AS cnt
FROM (
    SELECT COUNT(*) AS daycnt, `date`
    FROM `table`
    GROUP BY `date`
) dailycount
WHERE `date` BETWEEN start_date AND end_date
GROUP BY daycnt

这会给你这样的东西:

type cnt
1    23
2    69
3    3

type将是你的单打,双打等等。

答案 1 :(得分:0)

在不知道结构的情况下,这是我能提供的最好的SQL: SELECT COUNT(DISTINCT field) FROM table GROUP BY field

这将计算每个值的字段出现次数。