我有一个名为NET_REPORT的表,其中包含以下字段(在众多字段中):
JOBS – a number (of jobs)
NET_DATE – date in format YYYY-MM-DD
CODE – a three digit integer (i.e., 001, 002, etc).
单个NET_DATE可以有多个记录,每个记录都有不同的代码 我需要知道所有代码在单个NET_DATE中的最大作业数。
我有查询SELECT MAX(JOBS) as MaximumJobs FROM NET_REPORT
,但这给了我特定NET_DATE和CODE的最大作业。相反,我需要在JOBS字段中为每个NET_DATE的所有记录添加值,然后找到所有这些总计的最大值。
任何想法?
感谢。
答案 0 :(得分:2)
简单版
SELECT sum(JOBS) as JobCount, NET_DATE FROM NET_REPORT GROUP BY NET_DATE
如果您想通过NET_DATE订购,从最高职位数开始
SELECT * FROM
(SELECT sum(JOBS) as JobCount, NET_DATE FROM NET_REPORT GROUP BY NET_DATE) AS A
ORDER BY A.JobCount DESC
如果您只需要具有最高职位数的NET_DATE
SELECT Top 1 * FROM
(SELECT sum(JOBS) as JobCount, NET_DATE FROM NET_REPORT GROUP BY NET_DATE) AS A
ORDER BY A.JobCount DESC
答案 1 :(得分:1)
SELECT MAX(JobsTotal) as MaximumJobs
FROM (
SELECT SUM(JOBS) AS JobsTotal
FROM NET_REPORT
GROUP BY NET_DATE
) A
答案 2 :(得分:1)
我认为你想要的是在给定日期“工作多少”的不同工作。关于你的计数和求和,我也添加了这些,只保留net_date的单个“group by”。
select
net_date,
count( distinct jobs ) as NumberOfJobs,
sum( jobs ) as SumOfJobs,
max( jobs ) as MaxJobs
from
net_report
group by
net_date
如果您要查找具有MOST唯一作业的日期,请将以下内容添加到上述查询中
order by 2 DESC limit 1
2的顺序指的是序数列“NumberOfJobs”,限制1只返回最终“有序”结果集的第一个条目。