2
我一直在尝试几个小时,但无法通过查询,我想使用DB2来执行以下操作。从表公司和用户我有每个公司下面的票量信息/用户db2查询顶部组
QUERY USING:
SELECT T.USER, COUNT(T.USER) AS QUANITTY, T.COMPANY FROM TICKET T
INNER JOIN COMPANY P ON P.COMPANY = T.COMPANY
GROUP BY (T.USER, T.COMPANY) ORDER BY QUANTITY DESC
的结果是:
user company quantity
----------------------------------
mark nissn 300
tom toyt 50
steve kryr 80
mark frd 20
tom toyt 120
jose toyt 230
tom nissn 145
steve toyt 10
jose kryr 35
steve frd 100
这应该是结果(按公司热门用户)
user company quantity
----------------------------------
mark nissn 300
jose toyt 230
steve frd 100
steve kryr 80
,因为您可以看到公司中有许多用户,每个公司的数量各不相同,因此结果为 会使用户获得每家公司的最高数量。即:公司nissn
它有2个用户,每个人都有(300号)和(与145 TOM)
所以应该给我这将是与300标记的同样将是toyt
,frd
最高的用户, kryr
。我需要查询中的所有人。
我不知道这是可能的查询或我需要创建一个存储过程。
你给了我正确的答案,是的它也适用于DB2!我一直在试图做到这一点,但无法弄清楚。谢谢bubby! – 2011-06-13 22:51:43
在iSeries上的DB/2上进行测试,确实可行! – Bjinse 2013-05-23 12:57:36
另外,考虑使用Dense_Rank()而不是Rank()来管理两家公司之间的联系。非常好的工作将其分解成逐步的说明@btilly – codemonkey 2014-07-18 16:24:47