当前位置:首页 » 编程语言 » 文本型数值排序sql查询排序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

文本型数值排序sql查询排序

发布时间: 2023-01-22 14:47:40

sql按某个字段值顺序排序

升序:select * from 表名 order by 表中的字段 asc(MySQL中默认是升序排列,可不写) ;
降序:select * from 表名 order by 表中的字段 desc ;

Ⅱ SQL字符型字段按数字型字段排序实现方法

这是很久之前的就遇到的问题了,去年写了个WP插件:WordPress投票插件Ludou
Simple
Vote,由于有些使用者需要一个投票排行榜,所以需要用一条SQL来读取按得分排序的文章列表。

Ludou
Simple
Vote的投票得分结果是以自定义栏目的方式存储在WordPress的postmeta中,分值存放在meta_value字段,而meta_value字段类型是longtext,如果直接使用下面的SQL查询语句来排序:
复制代码
代码如下:
ORDER
BY
`meta_value`

那么按得分排序得到的结果可能是:
1
10
11
123
1234
2
25
253
3

由于是按字母顺序排列,所以123排在了2的前面,显然不符合我们的要求,那么怎样才能按照我们预想的数字顺序排序呢?下面介绍两种方法。
一、采用MySQL的cast函数,转换字段格式

这里我们将meta_value字段转换成数值类型的字段DECIMAL,然后再进行排序:
复制代码
代码如下:
ORDER
BY
CAST(`meta_value`
AS
DECIMAL)

需要注意的是,你所要排序的meta_value字段的值必须都是可转换成数字,否则将会出错。
二、使用MySQL绝对值函数ABS

使用MySQL绝对值函数ABS,它告诉MySQL使用绝对值来处理处理这个字段:
复制代码
代码如下:ORDER
BY
ABS(`meta_value`)

Ⅲ sql server 如何给text数据类型排序

// ---- 假设有一个按钮,点击事件如下:
private void button2_Click(object sender, EventArgs e)
{
// ---- 从数据库获取数据
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(ConnInfo);
// --- [title], [size], [content] 数据库中存放的文章的标题、大小、内容,其中[content]是Text类型
cmd.CommandText = "select [title], [size], [content] FROM [DRCDB].[dbo].[Documents];";
cmd.Connection.Open();

byte[] bytes; // --- 关键点,准备存放Text类型数据
int size = 0;
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
size = rdr.GetInt32(1);
bytes = new byte[size];
rdr.GetBytes(2, 0, bytes, 0, size); // 从第3个列中读出Text类型数据
// --- 下面是处理文件的方式之一:保存文到d:\test1\目录
File.WriteAllBytes(@"d:\test1\" + rdr.GetString(0), bytes);
}
}
}

Ⅳ 关于ORACLE使用PL/SQL查询结果按照文本排序的问题

你那个字段可能是文本类型的,输出时做个类型转换:
select to_number(字段名) fieldname
from tablename
order by fieldname;

Ⅳ 如何用数据库sql把一列数据从大到小排列

select * from 表名 order by 要排列的字段 desc。

Ⅵ SQL查询并排序问题

select * from 表 where 字段 in (x1,x2,x3,x4.....) order by 字段 ASC/DESC
此中排序字段是索引条件中字段,ASC为升序,DESC为降序,此中的排列会以X1,X2,X3排序,但X1可能有很多数据,如果在X1内部排序,请加上第二排序。
select * from 表 where 字段 in (x1,x2,x3,x4.....) order by 字段 ASC/DESC,字段2 ASC/DESC
此表达式是在X1,X2等排序的基础上再按字段2进行排序!
我就不明白,如何是多数据,X1,X2等又包含多个条记录,你就不想用Group呢?
你想看一下group by 的使用方法,对时可以对分组条件进行限定,关键词是having,使用方法类where,但与where是有区别的!

Ⅶ sql数据库数字排序问题

ORDER BY cast(你的字段名 as int)

这里的原因是因为你的那个字段虽然存储了数字值,但是它是一个字符型
而字符型的 '2' 比 '11'要大 因为是从第一个字母开始比其的

Ⅷ sql字符型数字排序。

因为你这是字符串,如果想按照后面的数字排序的话就要单列出来,比如:

selectc1,cast(SUBSTRING(c1,2,len(c1)-1)asint)from(
select'D1'c1UNION
select'D2'UNION
select'D10'UNION
select'D12'UNION
select'D100'UNION
select'D101'UNION
select'D200'
)asaorderby2

Ⅸ 文本格式的数据在SQL里怎么排列大小

文本格式的数据虽然包含了各种数字、字符、符号、字母、汉子等数据,但它们都已一定排序规律的。所以,就像排列数值一样排列就可以了。

Ⅹ sql语句中对一个字段排序,字段中含有字符串和数字,(怎根据数字进行排序)

order by 字段名称+0 desc/asc的形式进行排序
order by 字段名称*1 desc/asc的形式进行排序