2017-02-13 6 views
-3

私は2つのテーブルを持っています。私は時間、日付、employee_idを表示することができ、繰り返しIDを数えることができるSQLを持っています。今私は、システムがすべての文字「L」で始まる名前、および名前を持つすべての従業員を数えるのショー毎日の合計を数えるの合計文字「L」sql 1か月に数える方法

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に適切なタグを付けてください。 myslまたはsql-serverのどちらかを選択しますが両方を指定しないでください –

+0

一般的なGROUP BYルールは次のように言います:GROUP BY句が指定されている場合、SELECTリストの各列参照はグループ化列を特定するか、 – jarlh

答えて

0
で始めることができます許可したいです

select distinctgroup byを1つのクエリで多く味わう場合は、group by節を適切に拡張してください。

質問に答えて、count(*)sum(case when b.name like 'L%' then 1 end)に置き換えてください。

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) 
関連する問題