【发布时间】:2018-04-20 02:13:50
【问题描述】:
我正在尝试收集有关员工的一些统计信息。以下查询将用于收集 SELECT 语句中有关特定地区特定学校的所有适用信息。
我现在真正喜欢做的是能够针对同一学区内的不同学校运行 SELECT 语句,以比较同一学区内的学校,甚至可以将学区彼此进行比较。
但是,所有数据都在一个表中。显然,我不能一个接一个地在我的查询中放置多个语句。我尝试在两者之间添加UNION JOIN,但这也不起作用。
SELECT WorkLocationName AS District, SchoolName AS School, COUNT(FileNumber) AS Records,MIN(strftime('%Y', date('now')) - BirthYear) AS MinAge,MAX(strftime('%Y', date('now')) - BirthYear) AS MaxAge,
AVG(strftime('%Y', date('now')) - BirthYear) AS AvgAge,
(MIN(CAST(replace(replace(TotSalary,',',''),'$','') AS REAL))) As MinSalary,
(MAX(CAST(replace(replace(TotSalary,',',''),'$','') AS REAL))) As MaxSalary,
(AVG(CAST(replace(replace(TotSalary,',',''),'$','') AS REAL))) As AvgSalary
FROM DPISTAFF2015_2016
WHERE CAST(replace(replace(TotSalary,',',''),'$','') AS REAL) > 0.00
AND WorkLocationName = 'XXX Sch Dist'
AND SchoolName = 'XXX High'
我想知道此时最好的行动方案是什么。我可以使用SELECT DISTINCT SchoolName 获取唯一的学校列表,并使用 WHERE 仅获取某个地区的唯一学校,但是我如何执行我拥有的 SELECT 语句(即计数记录、最大和最小年龄、最大和最小每个学校或地区的工资等)?
【问题讨论】: