Php 想知道某个值在给定日期出现的次数吗
我将尽可能简单地解释这一点。我希望能够计算一个值每天输入数据库表的次数 基本上,如果数据输入一次,它将计为一个,如果数据输入两次,它将计为一个双精度,如果数据输入三次,它将计为一个三精度 然后,我希望能够计算出在某个时间范围内(每年4月至4月)出现了多少单打、双打和双打。然后当然会在php页面上重复这些内容,如下所示: 单打-23 双打-69 高音-3 我试着在数据库表中添加一个round_id列,因为我认为如果这是默认的1,我可以以某种方式计算每天有多少个1可以工作,但我完全被卡住了Php 想知道某个值在给定日期出现的次数吗,php,mysql,Php,Mysql,我将尽可能简单地解释这一点。我希望能够计算一个值每天输入数据库表的次数 基本上,如果数据输入一次,它将计为一个,如果数据输入两次,它将计为一个双精度,如果数据输入三次,它将计为一个三精度 然后,我希望能够计算出在某个时间范围内(每年4月至4月)出现了多少单打、双打和双打。然后当然会在php页面上重复这些内容,如下所示: 单打-23 双打-69 高音-3 我试着在数据库表中添加一个round_id列,因为我认为如果这是默认的1,我可以以某种方式计算每天有多少个1可以工作,但我完全被卡住了 任何帮助
任何帮助都将不胜感激 在不知道结构的情况下,下面是我能想到的最好的SQL:
按字段从表组中选择计数(不同字段)
这将计算每个值的字段出现次数。如果我理解正确,首先,我们可以按天计算:
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
其中,
类型
将是您的单打、双打等。请给出表格布局(描述
)和一些示例数据。Sorry Kaii我对此不熟悉,因此刚刚注意到您的评论,我将尝试解释更多。抱歉,Kaii我对此不熟悉,因此刚刚注意到您的评论,我将尝试解释更多。这是一个球童日志,我作为球童的工作建设。每天我都想填写这些字段,如果我做两轮,我会填写两次,所以我想把它算作两轮。目前,这张桌子看起来是这样的,尽管它不是最终的。数据库表:round date round_length course additional_caddies pay notes round_id我已设法呼应出总轮次,这只是最新的“轮次”,但做我想做的事比我对php和mysql的了解还多。谢谢Ryan,我在这里有些挣扎。我可以使用您的第一次选择计数来显示每天是1、2还是3。然而,当我尝试使用第二个SELECT计数时,它总是说“数据库查询失败:每个派生表都必须有自己的别名”。如果你不介意的话,我可能需要更多的PHP方面的帮助。对不起,我修改了我的查询,在子查询中使用了一个别名-这应该可以解决它。我仍然无法让它工作。如何在PHP中实现这一点?我可以获得要显示的第一个数字,但第二个选择再次出现错误。我该如何回音以显示您在下面的内容?@user1296020不要说“有错误”。显示实际的错误消息,以便其他人可以帮助您。抱歉:数据库查询失败:您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第行“WHEREdate
介于开始日期和结束日期之间”附近要使用的正确语法