数据库Mysql   id 自增,主键;
   title;
   paixu; int类型,排序字段
  我想输入小的数字(数字越小排行越前),请问接下来的逻辑该怎么写,请前辈们 详细些 谢谢

解决方案 »

  1.   

    查询的时候根据paixu字段升序就可以了:
    SELECT * FROM `table` WHERE 1=1 ORDER BY `paixu` ASC LIMIT 10;
      

  2.   

    上面考虑不够仔细,不知道你的paixu字段的默认值是怎么样的,为了建立组合索引,建议定义为INT UNSIGNED NOT NULL DEFAULT 999999999999,然后建立组合索引(paixu,id),查询时:
    SELECT * FROM `table` WHERE 1=1 ORDER BY `paixu` ASC,`id` DESC LIMIT 10;
      

  3.   

      好的谢谢楼上的朋友 晚上我测试下sql语句!!! 谢谢
      

  4.   

    唉,还得纠正一下,INT UNSIGNED可以表达的范围是0到4294967295,所以上面那个默认值是非法的
      

  5.   

    直接写排序字段就行了
    select * from table order by paixu
    搞定.
      

  6.   

    order by paixu 就行了,后面好果跟 asc  就由小到大,desc 由大到小
      

  7.   

    改变顺序,还是按顺序输出?
    改变顺序的话,输入指定序号后,应当更新后续的排序序号。
    UPDATE `table` SET `paixu` = `paixu` + 1 WHERE `id` = 1(不等于自己ID)
      

  8.   

    和主键的方式正好相反,主键的增加是从小到大(从0开始),你可以设置从大到小(从一个规定最大范围,例如32位的最大值开始)排序就是 order by 排序字段 asc(小的在前) / desc(大的在前)