Mysql 如何确定PHP中两个常量值之间的百分比比率?

Mysql 如何确定PHP中两个常量值之间的百分比比率?,mysql,sql,Mysql,Sql,我有一个PHPWeb应用程序,我试图从表中检索两列,日期和出勤率的值为0(Present)或1(缺席) 我使用此代码检索这些值,这些值仅在工作日存在,并且用户登录到$row变量的会话中: SELECT Date, Att_Type FROM Attendance WHERE (ID=$ID) AND (WEEKDAY(Date) BETWEEN 0 AND 4 AND WEEK(Date) = WEEK(now())) 现在,我想做的是获取星期一的所有记录(使用工作日值),并计算一天中有多少

我有一个PHPWeb应用程序,我试图从表中检索两列,日期和出勤率的值为0(Present)或1(缺席)

我使用此代码检索这些值,这些值仅在工作日存在,并且用户登录到
$row
变量的会话中:

SELECT Date, Att_Type FROM Attendance WHERE (ID=$ID) AND (WEEKDAY(Date) BETWEEN 0 AND 4 AND WEEK(Date) = WEEK(now()))
现在,我想做的是获取星期一的所有记录(使用工作日值),并计算一天中有多少记录的百分比为0或1。从每天到今天,这都会重复


例如,今天是星期四;周一有5个出席日志,分别为0,1,0,1,1,因此出席率为40%,缺席率为60%,以此类推,周二、周三和周四如果有记录,否则为0%。

Barmar已经回答了这个问题,我只写了完整的SQL

SELECT WEEKDAY(Date) AS weekday,
    100 * SUM(Att_Type) / COUNT(Att_Type) AS percentage
FROM Attendance 
WHERE ID=$ID
AND WEEK(Date) = WEEK(NOW())
GROUP BY WEEKDAY(Date)

这将使您在所有工作日中的百分比从0到6,您只能从结果中选择0-4。

100*总和(att_type)/COUNT(*)
按工作日分组(日期)
警告:使用
mysqli
时,您应该使用并向查询中添加任何数据。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。永远不要将
$\u POST
$\u GET
或任何类型的数据直接放入查询中,如果有人试图利用您的错误,这可能是非常有害的。顺便说一句,虽然这看起来有点口是心非,
日期>周(CURDATE())-间隔工作日(CURDATE())日和日期