所以我有一个表,这是一个IT帮助台内的门票。每个标签“ID_TICKET”与特定故障相关,并具有关联的计算机“SERIAL_NO_COMPUTER”。
我希望能够计算与每台计算机连接的故障数,然后显示故障最多的计算机的每个故障的详细信息“PROBLEM_DESCRIPTION”。
我创建了以下列表来统计与每台机器相关的故障数量:
SELECT SERIAL_NO_COMPUTER, COUNT(*) AS OCCURANCES
FROM TICKET
GROUP BY SERIAL_NO_COMPUTER
ORDER BY COUNT(*) DESC;
这为我提供了报告故障最多的计算机,但我不确定如何使用一个语句为每个问题生成详细信息。
1条答案
按热度按时间9vw9lbht1#
如果您需要收集报告故障最多的计算机的信息,而不是聚合,您可以用途:
ORDER BY
子句中的一个窗口函数,它根据记录的计数更改记录的顺序。FETCH NEXT 1 ROWS WITH TIES
,以收集与最高计数绑定的一行(该子句考虑了ORDER BY
子句)。如果两台计算机具有相同的最大故障数,则此查询应给予两台计算机的记录。如果你只想从一台pc上得到记录,你需要在
ORDER BY
子句中再添加一列(例如pc serial)。