我怎样才能获取列的最后一个值

时间:2013-12-29 13:43:44

标签: php mysql

我有三张桌子

1.course(c_id(pk),c_name,sem_no);
2.student(s_id(pk),s_name,user_name,password);
3.student_info(s_id(fk),c_id(fk));

我已登录学生,然后我运行此查询

SELECT distinct sem_no FROM course,student_info WHERE course.c_id=student_info.c_id and s_id='0001' ORDER BY sem_no ;

它显示了他通过的所有学期,包括正在运行的学期。 现在

我想将sem_no列的最后一个值显示为他当前的学期.. 如何获取sem_no的最后一个值?

我们将不胜感激任何帮助!

3 个答案:

答案 0 :(得分:2)

以下是您想要的改进版本:

SELECT sem_no
FROM course c join
     student_info si
     on c.c_id = si.c_id and s_id = '0001'
ORDER BY sem_no desc
LIMIT 1;

请注意使用正确的ANSI连接语法。另请注意表别名的使用,这使查询更容易阅读。

答案 1 :(得分:0)

试试这个:

 SELECT sem_no
    FROM course  as t1 join
         student_info as t2
         on t1.c_id = t2.c_id 
    WHERE t2.s_id = '0001'
    ORDER BY sem_no desc
    LIMIT 1;

答案 2 :(得分:0)

从mysql中选择时,您可以按升序或降序排序。提升将是1-10例如。下降将是10-1。所以

SELECT distinct sem_no FROM course.student_info WHERE course.c_id=student_info.c_id and s_id='0001' ORDER BY sem_no desc LIMIT 1;

会返回最后一行,只返回最后一行。