我想弄清楚如何獲得有條件的,不使用組的不同計數。我有這裏看到,有列的表格:在不使用組的情況下爲列確定一個不同的計數
僱員,Training_Course_name,CompletedDate
一些課程在他們的字繩。 我想在每個人的標題中使用單詞「繩索」完成的課程數量,並將其除以標題中包含單詞繩索的獨特課程的數量。如果有15個獨特的課程名稱在標題中包含繩索,不管分配給誰,我想拿出這個數字,並將其分成每人完成的繩索課程的數量。
我想弄清楚如何獲得有條件的,不使用組的不同計數。我有這裏看到,有列的表格:在不使用組的情況下爲列確定一個不同的計數
僱員,Training_Course_name,CompletedDate
一些課程在他們的字繩。 我想在每個人的標題中使用單詞「繩索」完成的課程數量,並將其除以標題中包含單詞繩索的獨特課程的數量。如果有15個獨特的課程名稱在標題中包含繩索,不管分配給誰,我想拿出這個數字,並將其分成每人完成的繩索課程的數量。
可以使用條件彙總:
select count(distinct case when Training_Course_name like '%rope%'
then Training_Course_name
end) as courses_with_rope
這將幫助你解決你的問題
Declare @UniqueCourses As TABLE(Course As VarChar(32))
Select @UniqueCourses = Training_Course_Name
From
(SELECT DISTINCT Training_Course_Name
FROM Employess
WHERE Training_Course_Name LIKE '%Rope%') A
SELECT
EmpId,
(SELECT COUNT(1) FROM Employees innerEmployees
WHERE innerEmployees.EmpId = outerEmployees.EmpId AND
innerEmployees.CompletedDate is not null
) AS Completed Courses
From Employees outerEmployees
你可以用他們的話繩索的過程中與此查詢
SELECT Employeeid, Training_Course_name, CompletedDate
FROM Table_Name_You_Did_Not_Say
WHERE Training_Course_name LIKE '%rope%'
還有一個像這樣的獨特計數
SELECT Employeeid, Training_Course_name, CompletedDate,
count(distinct Training_Course_name) as distinct_names
FROM Table_Name_You_Did_Not_Say
WHERE Training_Course_name LIKE '%rope%'
任何「按員工身份證」都需要一個團隊 - 那麼您的要求是什麼?
爲什麼組是不允許的? –