sql语句中的order by排序问题 数据库中有一priority字段,取值为高、中、低。

如果这样写的select * from table order by priority 是按低中排序高。
请问按高中低排序的SQL语句怎么写?

这个无法出现正常的排序。在SQL中对于字符或是汉字的排序依据是汉字字母按英文排序的方式。也就是说如果在没有更改的情况下,select * from table order by priority [ASC]顺序应该是低(D),高(G),中(Z)的顺序进行排列的。而若是select * from table order by priority DESC(降序)时与ASC正好相反。高中低的顺序是我们理解的,而不是计算机所能理解的,所有字符对于计算机来说都是没有意义的,所以在不更改的前提下是没有办法让计算机理解高中低的含义并让他排序的。

但数据库一般的排序有三种手段,第一种就是默认,已经介绍过了,另两种是笔画排序和ASC码序(机器码序)笔划排序对于汉字来说还可以确认,但是对于机器码序有很大的不可预知性,我们不可能也记不信每一个汉字的机器码的,所以如果你能恰好得出低中高的顺序,那么现在不是前两种顺序就有可能是后一种顺序,只要使用DESC就可以降序排列了!
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-16
可以这样写
select *,case priority
when '低' then 1
when '中' then 2
when '高' then 3
end fa
from table1 order by fa desc本回答被提问者采纳

...by排序问题 数据库中有一priority字段,取值为高、中、低。
这个无法出现正常的排序。在SQL中对于字符或是汉字的排序依据是汉字字母按英文排序的方式。也就是说如果在没有更改的情况下,select * from table order by priority [ASC]顺序应该是低(D),高(G),中(Z)的顺序进行排列的。而若是select * from table order by priority DESC(降序)时与ASC...

快速掌握MySQL数据库中SELECT语句[1]
SQL_SMALL_RESULT和SQL_BIG_RESULT是一组相对的关键词 它们必须与GROUP BY DISTINCT或DISTINCTROW一起使用 SQL_SMALL_RESULT告知优化器结果会很小 要求MySQL使用临时表存储最终的表而不是使用排序;反之 SQL_BIG_RESULT告知优化器结果会很小 要求MySQL使用排序而不是做临时表 HIGH_PRIORITY将赋予SELECT比一...

mysql中的update语句怎么写
SQL UPDATE 命令如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。具体语法参考:from 树懒学堂 - 一站式数据知识平台 注意:你可以同时更新一个或多个字段。你可以在 WHERE 子句中指定任何条件。你可以在一个单独表中同时更新数据。当你需要更新数据表中指定行的数据时 WHE...

2个SQL语句返回的结果为何不同?
DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据...

要疯了,怎样用多线程向MYSQL数据库中写入数据
大概有以下几种解决办法:设置max_execution_time 来阻止太长的读SQL。那可能存在的问题是会把所有长SQL都给KILL 掉。有些必须要执行很长时间的也会被误杀。自己写个脚本检测这类语句,比如order by rand(), 超过一定时间用Kill query thread_id 给杀掉。那能不能不要杀掉而让他正常运行,但是又...

请教,ORACLE中SQL语句最大长度是多少
你好:我知道的是最大可执行长度为6000个字符。通常在procedure中sql拼接的时候会有这个问题,一边解决方案是设置function对逻辑分别处理来实现减少sql长度的。VAR_DYNAMIC_SQL := 'INSERT INTO RP_TRANS_LOG_MINUTE ( TRANS_TIME, TRANS_PROVINCE, TRANS_TYPE, SCORE_RANGE, RULE_NAM...

sql语句,有的全要
sql数据库,aaa,设定一个表,user,三个字段,username,password,money从数据库备份,还原,删除的语句到select的语句全要我要sql语句大全,这么说明白了么表和字段按照我给出的来写... sql数据库,aaa,设定一个表,user,三个字段,username,password,money从数据库备份,还原,删除的语句到select的语句全要我要sql语句大全...

如何用MySQL命令对数据库进行导出\/导入\/技巧
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\\wcnc_db.sql -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的...

linq查询语法中的 from 和 in 不是冲突了么?都是一样的意思吧 .
这段代码的解释如下:from c in list where c.ParentID == ROOTID orderby c.Priority select c 从数据源list中的元素c查询c,满足条件c.ParentID==ROOTID,按c.Prinority列的升序排序。这两个c是同一个意思,但c的意思在查询语句中看的不太明白,应当配合执行语句foreach一起看,例如打印...

asp中的from错误
select * from [user]user是SQL关键字

相似回答