首页  >  问答  >  正文

获取SQL中引用键的所有第1条数据

我有两个名为“用户”和“付款”的表。在 Payment 中,有一个用户表的外键。这是付款表的记录。

从付款中选择 id,User_id;

id User_id
1 1
2 1
3 2
4 3
5 2

但我的预期输出是这样的。

id User_id
1 1
3 2
4 3

我只想要 SQL 中每个 User_id 的第一个数据。

P粉041856955P粉041856955404 天前455

全部回复(2)我来回复

  • P粉510127741

    P粉5101277412023-09-12 18:21:17

    您可以在 User_id 列上使用 GROUP BY 子句。

    回复
    0
  • P粉262073176

    P粉2620731762023-09-12 14:14:03

    试试这个...

    SELECT p1.id, p1.user_id
    FROM payment p1
    WHERE p1.id IN (SELECT MIN(p2.id) FROM payment p2 GROUP BY p2.user_id)

    假设,“第一个”是指该用户付款表中 id 的最小值,并且您还需要付款表中的更多详细信息或对其执行其他操作...

    如果您只想要 MIN 付款 ID,那么只需这样即可:

    SELECT MIN(id), user_id FROM payment GROUP BY user_id

    回复
    0
  • 取消回复