2017-05-25 3 views
-1

私は、その存在および不在に関する情報を格納する各人のためのテーブルを用意しています。 '出席'列に「present」と「absent」の値を計算したい テーブル名は「教師名」です。列内の特定の文字列値の出現回数の計算

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' 

私は私はそれに応じて給与を生成することができる「本」の発生数および「不在」 を計算します。 可能ですか? または何か間違っていますか?

の線に沿って、LINQを使用して

答えて

1
SELECT Attendence, COUNT(*) FROM your_table 
GROUP BY Attendence 

:コメントパー

.GroupBy (k => k.Attendence, (k, m) => new { Attendence = k, Count = m.Count() } 

:あなたが水平ではなく垂直方向に結果が必要な場合は、技術的に適切な方法は、PIVOTを使用することであるが、迅速かつ簡単な方法があります:

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 
+0

@farhanbashir – LB2

+0

こんにちはごめんなさい。C#でこのステートメントを使用して結果を生成する方法も教えてください。多くのおかげで –

+0

@farhanbashirが追加されました。私はモバイルで編集しているので、マイナーな不正確さがあるかもしれません。 – LB2

関連する問題