输出排序不正确
Output isn't ordered properly
如何按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
您没有在 ORDER BY
子句中包含 pincode
:
ORDER BY
FIELD( sector, 'C','D','A','B' ) , pincode
不需要写 ASC
因为它是默认排序。
如何按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
您没有在 ORDER BY
子句中包含 pincode
:
ORDER BY
FIELD( sector, 'C','D','A','B' ) , pincode
不需要写 ASC
因为它是默认排序。