上条记录和下一条记录
在展示博客文章时,在文章底部需要展示上一篇文章和下一篇文章,文章的排序当然是按照时间排序的。
选定下一条时可以用limit 1来实现,选取上一条时可以倒序limit 1实现
(SELECT * FROM article WHERE create_time<now_article_time ORDER BY create_time DESC LIMIT 1)
UNION
(SELECT * FROM article WHERE create_time>now_article_time ORDER BY create_time ASC LIMIT 1)
显示行号
Select a.*,(@rowNum:=@rowNum+1) as rowNo
From a,(Select (@rowNum :=3) ) b
通过变量rowNum来表示行号,在from子句中通过select语句给rowNum赋初值。这个过程涉及到SQL的执行顺序:即先执行from子句再执行select子句。
这种写法效率比较高,使用复合SQL语句的方式实现效率比较低(行号通过select语句来实现)。
MySQL打印学生成绩单
学生成绩单有语文、数学、英语三门成绩,如下所示:
语文 数学 英语
1 2 3
3 4 10
10 2 8
20 5 1
7 4 8
10 8 2
10 7 2
要求打印“rank(