我为每个人提供了一张sperate表,用于存储有关其存在与缺席的信息。 我想在“出勤率”列中计算“现在”和“缺席”的值 表名是“老师名”。
Database looked like this.
Time Attendance
'2:30:30' 'Present'
'1:20:30' 'Present'
'4:10:30' 'Absent'[view of database in xampp][1]
'3:30:30' 'Present'
'2:32:30' 'Absent'
我想计算'现在'和'缺席'的发生次数 所以我可以根据它产生薪水。 可能吗? 或者我做错了什么?
答案 0 :(得分:1)
.GroupBy (k => k.Attendence, (k, m) => new { Attendence = k, Count = m.Count() }
使用LINQ,符合以下几行:
SELECT
SUM(CASE Attendence WHEN 'Present' THEN 1 ELSE 0 END) AS Present,
SUM(CASE Attendence WHEN 'Absent' THEN 1 ELSE 0 END) AS Absent
FROM your_table
每条评论:如果你需要水平而不是垂直的结果,从技术上讲,正确的方法是使用PIVOT
,但是一种快速简便的方法是:
readonly