SQL选择自定义ORDER BY数据

时间:2014-03-14 15:31:16

标签: mysql sql

我有数据TSATSBTSCTotal。 如何使用Total按字母顺序显示最后一个。 目前我有这个,当然它没有用。

  

从表中选择*,其中main_id = x group by col-name asc

当然,我无法使用desc因为我有另一条记录ABCBCACDATotal。 那么如何添加"除非col-name是Total"?或者还有另一种方式?

2 个答案:

答案 0 :(得分:2)

很难确定你的帖子(那里没有很多细节)。但您可以使用case语句来评估列,并对其进行排序。像

这样的东西 case when <your column> = 'Total' then 'ZZZ' else <your column> end as SortKey

然后您可以按新列排序。

答案 1 :(得分:2)

用户order by field

select * from table 
where main_id =x 
order by FIELD( `col-name`, 'Total' ), t;

请参阅:
SQL Fiddle Example

请参阅

  1. MySQL: FIELD(str,str1,str2,str3,...)
    • 返回后续第一个参数的索引(位置) 参数。