jsp文件中对MYSQL数据库register表的操作语句:
 sql="select * from register where id="+id;
得到的结果集是按主键的字母顺序排序的。
我想让结果集按数据的写入时间顺序排序,sql语句该如何写。(register表只有日期字段,没有时间字段)。
解决给分。

解决方案 »

  1.   

    加一个order by 日期字段在你的查询语句里试一哈可以不
      

  2.   

    把ORDER BY去掉,会默认按照写入的先后顺序排,先写入的排在前面
      

  3.   

    表中有ID字段吗?按ID的顺序不就可以了啊
      

  4.   

    SELECT TOP 10 
            [Total Reads] = SUM(total_logical_reads)
            ,[Execution count] = SUM(qs.execution_count)
            ,DatabaseName = DB_NAME(qt.dbid)
    FROM sys.dm_exec_query_stats qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
    GROUP BY DB_NAME(qt.dbid)
    ORDER BY [Total Reads] DESC;SELECT TOP 10 
            [Total Writes] = SUM(total_logical_writes)
            ,[Execution count] = SUM(qs.execution_count)
            ,DatabaseName = DB_NAME(qt.dbid)
    FROM sys.dm_exec_query_stats qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
    GROUP BY DB_NAME(qt.dbid)
    ORDER BY [Total Writes] DESC;
      

  5.   

    我按楼上的各位的方法都试过了,还是按主键的字母顺序查找的.
    sql="select * from register where id="+id; 中的id不是主键.
    我的表:
    create table register(
    number varchar(50),
    characterNum varchar(50),
    registerNum varchar(50),
    edition varchar(2),
    amount varchar(4),
    time varchar(30),
    id smallint not null,
    primary key(id,number,characterNum,registerNum,edition,amount),
    foreign key (id) references cliInforms(id) on update cascade on delete  cascade)engine=innodb;
    我的表没用id作主键,而用primary key(id,number,characterNum,registerNum,edition,amount),
    是因为id可以重复,id,number,characterNum,registerNum,edition,amount才可以唯一确定一行记录.
    我的索引:alter table register add index name_index(id);
    但sql="select * from register where id='"+id+"' order by id";
    结果集还是按number的字母顺序排序的.
    谁有更好的设计register的方法吗
      

  6.   

    你需要这么多字段做复合主键的,有这个必要吗?你把这些都做成字段,在表里加个keyid把他的类型做成自增,然后order by keyid desc不就可以了,或者加个时间字段.