带两个子串的按字段排序

d7v8vwbk  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(282)

服务器正在返回值

  1. id, dia_hora
  2. 1 SEG-20h
  3. 2 SEG-09h
  4. 3 QUI-11h
  5. 4 SEX-09h

此查询适用于缩写词

  1. select * from agenda_padrao ORDER BY (
  2. FIELD(SUBSTRING(dia_hora,1,3), 'DOM', 'SEG', 'TER', 'QUA', 'QUI', 'SEX', 'SAB')
  3. )

但我需要先对缩写词排序,然后按升序对这两个数字排序
这样地

  1. 2 SEG-09h
  2. 1 SEG-20h
  3. 3 QUI-11h
  4. 4 SEX-09h

谢谢你的帮助

cbwuti44

cbwuti441#

使用mysql function field()指定顺序。

  1. ORDER BY FIELD(SUBSTRING(dia_hora,1,3), 'DOM', 'SEG', 'TER', 'QUA', 'QUI', 'SEX', 'SAB'),
  2. cast(substring(dia_hora, 5,6) as unsigned)

相关问题