计算列中特定字符串值的出现次数

时间:2017-05-25 21:08:57

标签: c# sql

我为每个人提供了一张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'

我想计算'现在'和'缺席'的发生次数 所以我可以根据它产生薪水。 可能吗? 或者我做错了什么?

1 个答案:

答案 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