2017-04-11 51 views
0

我想弄清楚如何獲得有條件的,不使用組的不同計數。我有這裏看到,有列的表格:在不使用組的情況下爲列確定一個不同的計數

僱員,Training_Course_name,CompletedDate

一些課程在他們的字繩。 我想在每個人的標題中使用單詞「繩索」完成的課程數量,並將其除以標題中包含單詞繩索的獨特課程的數量。如果有15個獨特的課程名稱在標題中包含繩索,不管分配給誰,我想拿出這個數字,並將其分成每人完成的繩索課程的數量。

+0

爲什麼組是不允許的? –

回答

0

可以使用條件彙總:

select count(distinct case when Training_Course_name like '%rope%' 
          then Training_Course_name 
      end) as courses_with_rope 
0

這將幫助你解決你的問題

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 
0

你可以用他們的話繩索的過程中與此查詢

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%' 

任何「按員工身份證」都需要一個團隊 - 那麼您的要求是什麼?

相關問題