2つの連続した休暇のユーザーしかカウントできません。私は従業員の休暇を表示するためのグラフを作成する必要があります。PHP MYSQLIは2つの連続した日付のユーザーをカウントします
私のテーブル名=私は結果は2になりたい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
は、Alのみと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