2017-02-13 64 views
-3

總結計數我有2個表。和我有一個SQL可以顯示時間,日期,employee_id,並計算重複ID。現在我想允許系統可以歸納的算所有以字母「L」開始的名字,並數與名稱的所有員工的節目每天的總和與字母「L」SQL如何在一個月

select distinct a.employee_id,b.name,a.type,a.date,a.time,count(*) 
from deal_records a, staff_table b 
where a.employee_id = b.employee_id && a.date>='2017-1-1' 
    and a.date <'2017-2-1'&& b.name like "L%" 
group by a.employee_id; 

The format should be looks like below

+1

你使用MySQL或MS SQL Server? – jarlh

+1

請正確標記您的RDBMS。選擇思想報或SQL服務器但不能同時 –

+0

一般GROUP BY規則說:如果指定了GROUP BY子句,在SELECT列表中的每個列引用必須要麼確定分組列或者是一組函數的參數! – jarlh

回答

0
啓動

在一間單獨的查詢都select distinctgroup by聞起來有很多,請適當延長group by條款。

關於回答這個問題,有sum(case when b.name like 'L%' then 1 end)更換count(*)

0
select a.employee_id,b.name,a.type,a.date,a.time, 
sum(case when b.name like "L%" 1 else 0 end) as all_count 
from deal_records a, staff_table b 
where a.employee_id = b.employee_id 
&& trunc(a.date) between to_date('01.01.2017', 'DD.MM.YYYY') and to_date('01.02.2017', 'DD.MM.YYYY') 
group by a.employee_id 
order by trunc(a.date)