我有一個名爲Employees的表,它有很多列,但我只想計算此表的某些特定列。如何計算sql中特定列的數量?
即 僱員:001
week1:40
week2:24
譯員更加:24
Week4:39
該僱員(001)具有2周下面32. 如何使用COUNT語句計算在這四周(列)內,多少星期(列)的值低於32?
我有一個名爲Employees的表,它有很多列,但我只想計算此表的某些特定列。如何計算sql中特定列的數量?
即 僱員:001
week1:40
week2:24
譯員更加:24
Week4:39
該僱員(001)具有2周下面32. 如何使用COUNT語句計算在這四周(列)內,多少星期(列)的值低於32?
像這樣的東西應該這樣做:
SELECT EmployeeID,
(CASE WHEN Week1 < 32 THEN 1 ELSE 0 END +
CASE WHEN Week2 < 32 THEN 1 ELSE 0 END +
CASE WHEN Week3 < 32 THEN 1 ELSE 0 END +
CASE WHEN Week4 < 32 THEN 1 ELSE 0 END) AS Count
FROM Employees ...
SELECT COUNT(*)
FROM [TableName];
可以使用
WHERE
聲明SELECT ... FROM ...
後指定,如員工與時間低於32
例如條件:
SELECT COUNT(*)
FROM [TableName]
WHERE `Hours`<'32';
使用AND
運營商加入更多條件
SELECT COUNT(*)
FROM [TableName]
WHERE `Hours`<'32' AND `EmployeeName`='Todd';
SELECT 'MEMBERS(ACTIVE ACCOUNTS)' particular, ''value
union all
SELECT +' '+ member_type,
(SELECT active_students = (SELECT COUNT(member_type_id) FROM LM_MEMBER_MASTER
WHERE institute_code = 'GDAB' AND member_type_id = A.member_type_id AND status = 'Active'))
FROM LM_MEMBER_TYPE_MASTER A WHERE institute_code = 'GDAB'
union all
Select ' Total' particular, COUNT(member_type_id) FROM LM_MEMBER_MASTER
WHERE institute_code = 'GDAB' AND status = 'Active'
union all
SELECT 'MEMBERS(CLOSED ACCOUNTS)' particular, '' value
union all
SELECT +' '+member_type,
(SELECT active_students = (SELECT COUNT(member_type_id) FROM LM_MEMBER_MASTER
WHERE institute_code = 'GDAB' AND member_type_id = A.member_type_id AND status = 'Closed'))
FROM LM_MEMBER_TYPE_MASTER A WHERE institute_code = 'GDAB'
union all
Select ' Total' particular, COUNT(member_type_id) FROM LM_MEMBER_MASTER
WHERE institute_code = 'GDAB' AND status = 'Closed'
在此代碼,我不想算「成員(有效帳戶)」和「會員(已關閉的帳戶)」 bcoz其頭條
看起來純粹的加法應該沒有任何聚合。 –
@MartinSmith不錯,謝謝:) – stuartd