【发布时间】:2021-12-14 00:31:49
【问题描述】:
我正在创建一个出勤查询。检查每个学生连续缺勤四次,我正在使用以下查询,但是该查询永远不会重置新学生的缺勤。
设置@absentRun = 0;
选择学生ID、姓名、年级、电话、日期、状态、 CASE缺席ID 当 1 THEN CASE WHEN @absentRun= 4 THEN @absentRun:= 1 ELSE @absentRun := @absentRun + 1 END 当 2 那么@absentRun := 0 结束为缺席 FROM 按日期、姓名的考勤组
例如,如果学生 ID 为 1,下一条记录的学生 ID 为 2,我希望缺勤计数如下表所示重置
<table>
<tr>
<th>StudentID</th>
<th>Name</th>
<th>Grade</th>
<th>Phone</th>
<th>Date</th>
<th>Status</th>
<th>AbsenceID</th>
<th>AbsentCount</th>
</tr>
<tr>
<td>1</td>
<td>Peter</td>
<td>2</td>
<td>57575r</td>
<td>09/12/2021</td>
<td>Absent</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>Pedro</td>
<td>3</td>
<td>444</td>
<td>09/12/2021</td>
<td>absent</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>Pedro</td>
<td>3</td>
<td>444</td>
<td>09/12/2021</td>
<td>absent</td>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td>Pedro</td>
<td>3</td>
<td>444</td>
<td>09/12/2021</td>
<td>absent</td>
<td>1</td>
<td>3</td>
</tr>
</table>
如果需要任何进一步的信息,请告诉我。
非常感谢您的帮助!
【问题讨论】:
-
MySql SQL Server - 我删除了冲突的标签,请重新添加您正在使用的 RDBMS 的标签。
标签: sql