我有我创建的这个查询。它为员工及其购买记录返回超过35000条记录,为期1年。我试图让查询只返回员工(名称)的1个实例和总购买金额而不是单个记录。这可能吗?
SELECT
distinct employee.employee_no,
sum(employee_purchase.purchase_amount) as 'Purchase Amount',
--employee.employee_no,
employee.employee_first_name,
employee.employee_last_name,
employee.home_store_no,
employee_purchase.transaction_date,
employee_purchase.employee_discount_amount
FROM
employee
INNER JOIN
employee_purchase ON employee.employee_no =
employee_purchase.employee_no
where
transaction_date between ('2010-06-30 00:00:00') and ('2011-04-26 00:00:00')
group by employee.employee_no, employee.employee_first_name, employee.employee_last_name,
employee.home_store_no,
employee_purchase.transaction_date,
employee_purchase.employee_discount_amount
order by 1
答案 0 :(得分:1)
摆脱您的DISTINCT,并删除交易数据。想一想:如果你想要总结所有交易,你也不能获得有关单笔交易的信息。
SELECT
employee.employee_no,
sum(employee_purchase.purchase_amount) as 'Purchase Amount',
employee.employee_first_name,
employee.employee_last_name,
employee.home_store_no
FROM
employee
INNER JOIN employee_purchase ON employee.employee_no = employee_purchase.employee_no
where
transaction_date between ('2010-06-30 00:00:00') and ('2011-04-26 00:00:00')
group by
employee.employee_no, employee.employee_first_name, employee.employee_last_name, employee.home_store_no
order by 1