sql-server - SQL Query Group by Count 和 Left Join 表
问题描述
我需要你的帮助!我掌握了一些简单的 SQL 技能,但是这个查询让我死了……
我的桌子
现在我想要设备上的 TOP5 工作时间(什么设备的工作时间最长)。
我想要这个输出:
我的查询:
SELECT
Equipment, EquipmentName, count(Equipment) as Count
FROM
Operations o
LEFT JOIN Orders ord ON ord.Id = o.[Order]
LEFT OUTER JOIN Equipments e ON ord.Equipment = e.EquipmentNumber
GROUP BY
Equipment, EquipmentName
ORDER BY Count DESC;
另一个问题是我如何显示 o.Worktime?我遇到了 GroupBy 错误...
请帮助我谢谢!
解决方案
你可以试试这个查询:
select equip_nr,
(select equipmentname from table_equipments where equipmentnr = [to].equip_nr) equip_name,
sum(timeInMins) / 60.0 Worktime
from (
select (select equipmentnr from table_orders where id = [to].[order]) equip_nr,
case when workunittime = 'RH' then worktime * 60 else worktime end timeInMins
from table_operations [to]
where exists(select 1 from table_orders
where [to].[order] = id
and location = '152')
and [start] >= '2018-07-01 00:00:00.000' and [start] < '2018-08-01 00:00:00.000'
) [to] group by equip_nr
顺便说一句,LEFT JOIN
相当于LEFT OUTER JOIN
。
推荐阅读
- javascript - 如何在 react native 和 redux 应用程序中处理 JWT 令牌到期
- curl - 带有 JQ 解析错误的卷曲响应:解析错误:第 1 行第 9 列的数字文字无效
- python - 比较 Datetime 和不可排序的类型
- ios - IOS 开发新手,单击注释单元格时崩溃 线程 1:信号 SIGABRT 并由于未捕获的异常而终止应用程序
- c# - 使用 OfficeOpenXml - 将 cell.Value 打印为数字
- spring-boot - SAML SSO 的密钥库证书的重要性
- javascript - 如何解决此 MarkerCluster 签入/签出错误(传单销售人员)?
- ads - 税务验证待定。苹果搜索广告
- java - 为什么BufferedImage没有根据paintComponent方法中绘制的矩形切割(它的高度计算错误)?
- c - 减去 malloc 返回的 2 个大小为零的指针