How do I select the first row per group in an SQL Query?

后端 未结 9 950
别跟我提以往
别跟我提以往 2020-12-29 09:26

I\'ve got this SQL query:

SELECT   Foo, Bar, SUM(Values) AS Sum
FROM     SomeTable
GROUP BY Foo, Bar
ORDER BY Foo DESC, Sum DESC

This resul

9条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-29 10:13

    In general, try using Subqueries rather than joining and grouping - it often makes SQL that is much easier to understand.

    SELECT Nick,
       (SELECT Description from Reasons WHERE Reasons.ID = (
           SELECT FIRST(Marks.ReasonId) from Marks WHERE Marks.PlayerID = Players.ID)
       ),
       (SELECT SUM(Value) from Marks WHERE Marks.PlayerID = Players.ID)
    

提交回复
热议问题