我正在为ControlDesk / Maximo开发BIRT报告,我需要显示最多请求的故障单组。
我知道如何在DB2查询中按组选择有限数量的票证,但这不是我需要的。这只是计数最多的前十名组(门票类)
谢谢你
到目前为止,我的SQL没有显示我想要的内容,如:
select tktemplate.description as tk_description, sr.description as sr_description, sr.reportdate, sr.templateid from sr inner join tktemplate on sr.templateid = tktemplate.templateid GROUP BY sr.templateid, sr.reportdate, tktemplate.description, sr.description ORDER BY sr.templateid fetch first 10 rows only
但它只显示了总共10个第一行,而不是每组的第一行
答案 0 :(得分:0)
在查询结尾处添加此内容:
ORDER BY countvalue DESC
FETCH FIRST 10 ROWS ONLY
即。按计数降序排序。只获取10行。
FETCH FIRST
是ANSI SQL。
答案 1 :(得分:0)
您有两种替代方法。要么给出相同的结果
ORDER BY tickets_count DESC LIMIT 10
或
ORDER BY tickets_count DESC FETCH FIRST 10 ROWS ONLY