如何计算连续两次缺席的用户?我必须创建一张图表来显示员工缺勤频率。PHP MYSQLI计数连续两个日期的用户
我的表名= incidencias
id | name | dateA | description
1 | al |2017-08-01| absence
2 | al |2017-08-02| absence
3 | alex |2017-08-01| absence
4 | alex |2017-08-02| absence
5 | alex |2017-08-03| absence
6 | al2 |2017-08-01| absence
7 | al2 |2017-08-02| absence
我想要的结果是2,只有人与AL2已经连续两个日期,其中描述=缺席。
我正在使用PHP来运行查询,我没有尝试这个代码,我发现,但我测试它在sqlfiddle和伟大的工程。但不在我的主机中。我认为这是针对PostgreSQL的。
$query2 = mysqli_query($conn, "SELECT name,
sum(diff) as days,
(dateA) as work_start,
(dateA) as work_end
FROM (SELECT name,
dateA,
diff
FROM (select name,
dateA,
nvl(dateA- lag(dateA) over (partition by name order by dateA),1) as diff
from incidencias
where description = 'absence'
) t1
where diff = 1
) t2
group by name
having sum(diff) = 2");
$row_cnt = mysqli_num_rows($query2);
printf("Result set has %d rows.\n", $row_cnt);
我真的很感激它。
能否请您发布的SQL格式的一些示例数据? – sumit