表名table1 字段分别有 姓名、性别、分数: 如下图
姓名  性别  分数
张工   女   87
李工   男   99
王工   男   65
现使用INSERT INTO 语句插入姓名性别分数 要求表中自动安装分数从高到低排列 例如:
姓名  性别  分数
李工   女   99
梁工   女   94
张工   男   87
王工   男   65
涂工   男   60
要求就是用select * from table1 得出排列后表的记录而不是 select * from table1 order by 分数:
请问该如何办

解决方案 »

  1.   

    要求有序 必须要使用order by
    select * from table1 顺序是不一定的
      

  2.   

    IF OBJECT_ID('TABLE1') IS NOT NULL DROP TABLE TABLE1
    GO
    CREATE TABLE TABLE1([NAME] VARCHAR(10),SEX VARCHAR(2),SCORE INT)
    INSERT INTO TABLE1
    SELECT '张工','女', 87 UNION ALL
    SELECT '李工','男', 99 UNION ALL
    SELECT '王工','男', 65
    CREATE CLUSTERED INDEX INX_TABLE1 ON TABLE1(SCORE DESC)
    INSERT INTO TABLE1
    SELECT '梁工','女', 94 UNION ALL
    SELECT '涂工','男', 60SELECT * FROM TABLE1
    /*
    NAME       SEX  SCORE
    ---------- ---- -----------
    李工         男    99
    梁工         女    94
    张工         女    87
    王工         男    65
    涂工         男    60
    */