假设有一个表(dunder_sales)跟踪一家知名纸业公司的员工销售量,这里是其记录样本。
sale_id emp_name date_of_sale
1001 Jim 04/23/2015
1002 Dwight 04/28/2015
1003 Dwight 05/11/2015
1004 Phyllis 06/23/2015
假设经理想要在2015年第一季度看到哪个员工的销售额超过30个。是否有关于此表的查询?
如果他只是......
SELECT emp_name, count(*)
FROM under_sales
WHERE date_of_sale > '2015-01-01'
and date_of_sale < '2015-04-01'
GROUP BY emp_name
HAVING count(*) > 30
HAVING过滤器中使用的计数功能将计算所有记录,如何使其仅计算where子句中的记录(仅适用于第一季度的那个日期范围)?
答案 0 :(得分:0)
我认为你的代码还可以。它只计算where子句中的记录。
答案 1 :(得分:-1)
您是否尝试过制作,以便数量(*)易于参考?
像:
select
emp_name,
count(*) as records
FROM dunder_sales
where date_of_sale > '2015-01-01' and date_of_sale < '2015-04-01'
and records > 30
GROUP BY emp_name