我现在有一个评论表  我想根据把最后20条数据 一个条件  在页面显示   然后新插入的评论都会在这20条数据基础上显示   求sql语句咋写

解决方案 »

  1.   


    表的结构
    CREATE TABLE `tv_review` (
      `id` int(20) unsigned NOT NULL AUTO_INCREMENT,
      `userid` int(20) DEFAULT NULL,
      `dates` timestamp NULL DEFAULT NULL,
      `context` varchar(2000) DEFAULT NULL,
      PRIMARY KEY (`id`)
    )就是说取tv_review 最后20条数据做为页面显示   然后新插入的数据在这20条数据基础上累加显示
      

  2.   

    select * from tv_review order by dates desc limit 20
      

  3.   

       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

  4.   


    表的结构
    CREATE TABLE `tv_review` (
      `id` int(20) unsigned NOT NULL AUTO_INCREMENT,
      `userid` int(20) DEFAULT NULL,
      `dates` timestamp NULL DEFAULT NULL,
      `context` varchar(2000) DEFAULT NULL,
      PRIMARY KEY (`id`)
    )就是说取tv_review 最后20条数据做为页面显示   然后新插入的数据在这20条数据基础上累加显示
    如果只是为了做页面显示,
    你可以用select * from tb_review  order by id desc limit 20;
    然后取出20条中最大的id,再做循环去取数据
    select * from tb_review where id>%d;
    这个是由程序来的!
    要把数据更新显示,就要一直去查询!