查找SQL表上的最后一个寄存器

查找SQL表上的最后一个寄存器,sql,function,field,Sql,Function,Field,我有这个: 表客户机: CLI_ID STUDENT 1 name1 2 name2 3 name3 UNIV_ID CLI_ID NAME 1...........1 harvard (2012) 2...........1 oxford(2013) 3...........2 yale 表大学: CLI_ID STUDENT 1 name1 2 name2 3

我有这个:

客户机

CLI_ID   STUDENT
   1     name1
   2     name2
   3     name3
UNIV_ID   CLI_ID    NAME
1...........1      harvard (2012)
2...........1      oxford(2013)
3...........2      yale
大学

CLI_ID   STUDENT
   1     name1
   2     name2
   3     name3
UNIV_ID   CLI_ID    NAME
1...........1      harvard (2012)
2...........1      oxford(2013)
3...........2      yale
我需要:

STUDENT    UNIVERSITY
name1      oxford
name2      yale
但我得到:

STUDENT    UNIVERSITY
name2      yale
我只得到了最高的数字。并非所有id最高的学生(最后一所大学)

我已经试过了:

**SELECT** C.cli_id, UNIV.UNIV_ID **FROM** cliente C

**INNER JOIN** UNIVERSITY UNIV **ON** C.Cli_id = UNIV.cli_id

**WHERE** UNIV_ID = ( **SELECT MAX** (UNIV_ID) **FROM** UNIVERSITY )

谢谢

您需要在
where
子句中使用相关子查询,以获得每个学生的最大值:

SELECT C.cli_id, UNIV.UNIV_ID 
FROM cliente C INNER JOIN
     UNIVERSITY UNIV
     ON C.Cli_id = UNIV.cli_id
WHERE UNIV_ID = ( SELECT MAX(UNIV_ID) FROM UNIVERSITY u2 where u2.cli_id = c.cli_id)

你在所有学生中都得到了最大值,你只希望每个学生都得到最大值。

不确定你在这里想要什么。是否要运行
选择。。。在何处
并显示与上次修改的记录关联的大学?欢迎使用StackOverflow:如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮(
{}
),以很好地格式化和语法突出显示它!这样,您也不需要任何

标记或点(用于空格)!你试过什么?你有什么问题?哪种SQL方言?如何确定最后一种?这是学生的最大
ID
值吗?我想找到的是上一所大学的学生名单。最后一个是最高ID(在本例中,牛津大学将是学生“名字1”的las大学)。。谢谢你的帮助。