mysql命令通过混合值,则其他值

mysql命令通过混合值,则其他值

问题描述:

我在包含下列值中的一个的分贝列:1 2 3 4mysql命令通过混合值,则其他值

我想根据以这种方式该值来订购:

mix between 1 & 3 then 2 then 4. 

表:服务
色谱柱: 名,SERVICE_TYPE
服务类型可以是1 2 3 4,我想与订单服务1和3,然后2然后4

显示

任何想法?
亲切的问候

+0

这是完全不清楚。您需要提供表名,列名和更多数据/结果示例。否则,这篇文章可能会被删除。 –

也许这样的事情,使用case/when

create table t7 
( name varchar(20) not null, 
    aNum int not null 
); 
insert t7 (name,aNum) values ('a',2),('z',3),('n',3),('q',4),('t',1), 
('q',2),('w',3),('e',3),('r',4),('t',1),('y',2); 

select name,aNum, 
CASE WHEN aNum in (1,3) THEN 1 else 2 end as theOrder 
from t7 
order by theOrder; 
+------+------+----------+ 
| name | aNum | theOrder | 
+------+------+----------+ 
| z | 3 |  1 | 
| n | 3 |  1 | 
| t | 1 |  1 | 
| t | 1 |  1 | 
| w | 3 |  1 | 
| e | 3 |  1 | 
| a | 2 |  2 | 
| r | 4 |  2 | 
| q | 2 |  2 | 
| q | 4 |  2 | 
| y | 2 |  2 | 
+------+------+----------+ 

如果mix不是特殊就够了,然后去

select name,aNum from 
(select name,aNum from t7 where aNum in (1,3) order by rand()) x1 
union all 
select name,aNum from 
(select name,aNum from t7 where aNum in (2,4) order by rand()) x2