代码之家  ›  专栏  ›  技术社区  ›  Manos Dilaverakis

需要有关SQL查询的帮助

  •  1
  • Manos Dilaverakis  · 技术社区  · 14 年前

    下面是我正在查询的数据库表的简化版本(我们称之为Payments):

    date     |    userid   |    payment
    20/1/10  |      1      |      10
    21/1/10  |      1      |      15
    17/1/10  |      2      |      7
    18/1/10  |      2      |      9
    

    它记录用户在特定日期支付的款项。我需要了解每个用户首次付款的详细信息,例如:

    20/1/10  |      1      |      10
    17/1/10  |      2      |      7
    

    存储过程是不可能的。是否有任何方法可以单独使用SQL来完成此操作,或者我应该向表中添加第一个付款标志?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Manos Dilaverakis    14 年前

    试试这个:

    SELECT * FROM Payments
    INNER JOIN (SELECT Min([Date]) AS MinDate, UserID 
                FROM Payments GROUP BY UserID) AS M
    ON M.MinDate = Payments.Date AND M.UserID = Payments.UserID
    
        2
  •  5
  •   JNK    13 年前
    SELECT MIN([Date]), userid, payment
    FROM Payments
    GROUP BY Userid, payment
    
        3
  •  3
  •   Matthew Jones    14 年前
    SELECT MIN([Date]), UserID FROM Payments GROUP BY UserID