我一直在这一天拉我的头发,任何人都可以帮助我。我认为这可能很简单,但我不能完全得到我想要的。Sql Group按列中的最大值
该表中的数据看起来像这样
CallId ProblemDescription CurrentAction CurrentEngineer EventNumber
CON-00002 Respond to Call 0
WHS-00001 Respond to Call 0
WHS-00002 Respond to Call 0
WHS-00003 Respond to Call 0
WHS-00003 Fix Problem 1
WHS-00003 Problem Fixed 2
我想这样做是为了显示所有列的foreach呼叫ID的最大事件数。即
CallId ProblemDescription CurrentAction CurrentEngineer EventNumber
CON-00002 Respond to Call 0
WHS-00001 Respond to Call 0
WHS-00002 Respond to Call 0
WHS-00003 Problem Fixed 2
但是我不知道该怎么做。
目前我使用
Select CallId, MAX(ProblemDescription), MAX(CurrentAction), MAX(CurrentEngineer),
MAX(EventNumber) FROM [Table] GROUP BY CallId
如何这显然返回最大为每coloumn独立。所以在CurrentAction列上面的情况下显示Respond to Call
不Respond to Call
任何人都可以告诉我如何做到这一点???
感谢
我真的很喜欢在SQL学习新的东西:d – 2013-03-19 16:25:59
碰巧的,(我应该包括这在我的问题),对表的主键是一个组合Call_Id和EventNumber,所以这是实现它的最好方法。然而@Gordon Linoff给出的另一种方法也很棒。 – 2013-03-22 09:25:14