Select 和操作 SQL 数据,DISTINCT 和 SUM?
Select and manipulate SQL data, DISTINCT and SUM?
我正在尝试为自己制作一个小报告,以查看每天我在系统中输入了多少时间。
目标是让我的 SQL 总结某一天的姓名、总工作时间和总 NG 产品。
顺序为:
1.) 针对特定 'date' 整理我的数据。即 2016-06-03
2.) 为 'operators'
提供一个 DISTINCT 值
3.) SUM() 一直在这个 'date' 和 'operator' 'total_working_time_h'
下注册
4.) SUM() 所有 no_of_defects 注册在此 'date' 并由此 'operator' 在 'no_of_defects'
日期,运算符,total_working_time_h,no_of_defects
目前我通过使用下面的查询获得了我想要的数据。但是现在我需要运算符的 DISTINCT 值和信息的 SUM。我可以为此使用子查询还是应该通过循环来完成?我可以从中了解更多有关如何解决此问题的其他提示吗?
如果我 运行 DISTINCT 函数,我没有机会按照我尝试的方式对数据求和。
SELECT date, operator, total_working_time_h, no_of_defects FROM {$table_work_hours} WHERE date = '2016-06-03' "
试试这个:
SELECT SUM(total_working_time) as total_working_time,
SUM(no_of_defects) as no_of_defects ,
DISTINCT(operator) AS operator FROM {$table_work_hours} WHERE
date = '2016-06-03'
我不确定您为什么要尝试执行 DISTINCT。您想知道特定日期的数据、小时数等。
这样做....
Select Date, Operator, 'SumWorkHrs'=sum(total_working_time_h),
'SumDefects'=sum(no_ofDefects) from {$table_work_hours}
Where date='2016-06-03'
在不知道 table 结构或内容的情况下,以下查询只是一个很好的猜测。需要注意和使用的位是 sum()
和 GROUP BY
。实际上语法会有所不同,具体取决于您使用的 RDBMS。
SELECT
date
,operator
,SUM(total_working_time_h) AS total_working_time_h
,SUM(no_of_defects) AS no_of_defects
FROM {$table_work_hours}
WHERE date = '2016-06-03'
GROUP BY
date
,operator
(删除 WHERE
子句或将其替换为日期范围以获得每个日期每个运算符的结果。)
我正在尝试为自己制作一个小报告,以查看每天我在系统中输入了多少时间。
目标是让我的 SQL 总结某一天的姓名、总工作时间和总 NG 产品。
顺序为:
1.) 针对特定 'date' 整理我的数据。即 2016-06-03
2.) 为 'operators'
提供一个 DISTINCT 值3.) SUM() 一直在这个 'date' 和 'operator' 'total_working_time_h'
下注册4.) SUM() 所有 no_of_defects 注册在此 'date' 并由此 'operator' 在 'no_of_defects'
日期,运算符,total_working_time_h,no_of_defects
目前我通过使用下面的查询获得了我想要的数据。但是现在我需要运算符的 DISTINCT 值和信息的 SUM。我可以为此使用子查询还是应该通过循环来完成?我可以从中了解更多有关如何解决此问题的其他提示吗?
如果我 运行 DISTINCT 函数,我没有机会按照我尝试的方式对数据求和。
SELECT date, operator, total_working_time_h, no_of_defects FROM {$table_work_hours} WHERE date = '2016-06-03' "
试试这个:
SELECT SUM(total_working_time) as total_working_time,
SUM(no_of_defects) as no_of_defects ,
DISTINCT(operator) AS operator FROM {$table_work_hours} WHERE
date = '2016-06-03'
我不确定您为什么要尝试执行 DISTINCT。您想知道特定日期的数据、小时数等。
这样做....
Select Date, Operator, 'SumWorkHrs'=sum(total_working_time_h),
'SumDefects'=sum(no_ofDefects) from {$table_work_hours}
Where date='2016-06-03'
在不知道 table 结构或内容的情况下,以下查询只是一个很好的猜测。需要注意和使用的位是 sum()
和 GROUP BY
。实际上语法会有所不同,具体取决于您使用的 RDBMS。
SELECT
date
,operator
,SUM(total_working_time_h) AS total_working_time_h
,SUM(no_of_defects) AS no_of_defects
FROM {$table_work_hours}
WHERE date = '2016-06-03'
GROUP BY
date
,operator
(删除 WHERE
子句或将其替换为日期范围以获得每个日期每个运算符的结果。)