mysql数字排序问题。

问题描述

mysql数字排序问题。

数据库为:mysql
现有表 t_table ,字段 c_column;c_column的取值范围是1,2,3。
要求排序后的结果是:1,1,1,3,3,2,2,2,2这种结构,排序怎么写?

解决方案

没看懂你干嘛,复合查询就好了,

解决方案二:

create table tbl (
id bigint not null primary key,
fieldValue bigint not null
)

insert into tbl (id, fieldValue) values (1, 0),
(2, 4),
(3, 2),
(4, 3),
(5, 1)

select * from tbl ORDER BY fieldValue in (1,4), fieldValue

解决方案三:

 select * from t_table
order by find_in_set(c_column,'1,3,2');
时间: 2024-08-24 18:13:04

mysql数字排序问题。的相关文章

MySql数字字符串类型的字段排序问题

今天给问说网添加一个排行榜的功能,主要就是列出了在本博客中阅读最多和评论最多的文章,但是却遇到了一个问题,阅读浏览量储存的字段类型是varchar,使用desc或者asc排序的时候,不是按照数字的大小的排序,而是按照字符串中的数字排序,接下来就为大家分享两个解决MySql数字字符串类型的字段排序问题. 字段*1或者+0 将字段*1或者+0可以将MySQL字符串字段按数值排序 select * from table where 1   order by id*1 desc; 或者 select *

MySQL数字的进制转换(conv的使用)

MySQL数字的进制转换(conv的使用) CONV(N,from_base,to_base) 在不同的数字基数之间转换数字.将数字 N 从from_base 转换到 to_base,并以字符串形式返回.如果任何一个参数为 NULL,那么返回值也为 NULL.参数 N 被解释为是一个整数,但是也可以被指定为一个整数或一个字符串.最小基为 2,最大基为 36.如果 to_base 是一个负值,N 将被看作为是一个有符号数字.否则,N 被视为是无符号的.CONV 以 64 位精度工作.   mysq

MySql数字函数大全

MySql数字函数大全 abs(N) 返回N的绝对值 mysql> select ABS(2); -> 2 mysql> select ABS(-32); -> 32 sign(N) 返回参数的符号(为-1.0或1) mysql> select SIGN(-32); -> -1 mysql> select SIGN(0); -> 0 mysql> select SIGN(234); -> 1 mod(N,M) 取模运算,返回N被M除的余数(同%操

MySQL数字类型int与tinyint、float与decimal如何选择

最近在准备给开发做一个mysql数据库开发规范方面培训,一步一步来,结合在生产环境发现的数据库方面的问题,从几个常用的数据类型说起. int.tinyint与bigint 它们都是(精确)整型数据类型,但是占用字节数和表达的范围不同.首先没有这个表就说不过去了: Type Storage Minimum Value Maximum Value (Bytes) (Signed/Unsigned) (Signed/Unsigned) TINYINT 1 -128 127 0 255 SMALLINT

MySQL数字辅助表

最近在做一个活动签到的功能,每个用户每天签到,累计到一定次数,可以换一些奖品. 签到表的设计如下 CREATE TABLE `award_chance_history` ( `id` int(11) NOT NULL AUTO_INCREMENT, `awardActId` int(11) DEFAULT NULL COMMENT '活动id', `vvid` bigint(20) DEFAULT NULL COMMENT '用户id', `createtime` timestamp NOT N

mysql 中文排序问题各种方法介绍

方法1  ----  "mysql在查询字符串时是大小写不敏感的,在编绎mysql时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中 中文编码字符大小写转换造成了这种现象,比较应急的方法是对于包含中文的字段加上"binary"属性,使之作二进制比较, 例如将"name char(10)"改成"name char(10)binary"."  (已试验成功)  方法2  -----  编译mysql时使用--with

Mysql 数字类型转换函数_Mysql

1.将Int 转为varchar经常用 concat函数,比如concat(8,'0') 得到字符串 '80' 2.将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串 总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型) 可用的类型 二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : DATE 时间: TIME 日期

数据-谷歌浏览器会把数字拼接成的字符串自动排序问题

问题描述 谷歌浏览器会把数字拼接成的字符串自动排序问题 比如说一个input控件中有这样一个字符串: ,101116,101119,100871, 当POST方式提交页面时: 用火狐浏览器接收到的数据是:,101116,101119,100871, 而当用谷歌浏览器接收到的数据是:,100871,101116,101119, 谷歌会把由数字拼接成的字符串进行排序,请问如何阻止谷歌这种操作. 或者有其他方式可以实现. 注:当页面提交后,是不会再对此数据进行修改操作的.所以要求接收到的数据就是最终数

PostgreSQL MySQL 数据类型映射

标签 PostgreSQL , MySQL , 类型映射 背景 通常一家企业会有比较多的数据库品种,最为常见的如MySQL, PostgreSQL. 那么在不同的产品之间,如果有数据的相互同步,就涉及到类型的映射了. 对于PostgreSQL来说,可以使用PostgreSQL的mysql_fdw外部插件来实现同步,产品设计会简化很多. 而对于MySQL来说,可能就比较复杂,需要自己写程序来实现,会涉及到类型的转换. PostgreSQL类型 转换为 MySQL类型 https://dev.mys