如何按时间顺序按C,D,A,B和pincode排序结果?

原始结果:

S  Pincode
== =======
A  001
B  002
C  003
D  004
D  005
C  006
B  007
A  008


预期结果:

S  Pincode
== =======
C  003
C  006

D  004
D  005

A  001
A  008

B  002
B  007


码:

SELECT
  id,
  sector,
  pincode

FROM
  sh_av_spform

WHERE

  type='ticket' and
  status='new' and
  date(`createdate`) = CURDATE()

ORDER BY

  FIELD( sector,  'C','D','A','B' ) ASC

limit 5


在SQL之上,有时按时间顺序sector给出未正确排序的密码

我得到无效的输出,例如:

S  Pincode
== =======
C  003
C  006

D  005
D  004 <<< ???

A  001
A  008

B  007
B  002 <<< ???


有人知道怎么修这个东西吗?

最佳答案

您只能按一列订购。也添加第二个:

SELECT
  id,
  sector,
  pincode

FROM
  sh_av_spform

WHERE

  type='ticket' and
  status='new' and
  date(`createdate`) = CURDATE()

ORDER BY

  FIELD( sector,  'C','D','A','B' ) ASC,
  pincode ASC

10-04 20:29