如何订购带有异常的MySql结果?

cwd*_*cwd 0 mysql sql-order-by

我在MYSql数据库上运行此查询:

select * from wp_postmeta
where meta_key LIKE "%_thumbnail_id"
and post_id = 897
Run Code Online (Sandbox Code Playgroud)

它返回此数据集:

Picture.png http://img713.imageshack.us/img713/9065/picturezo.png

我meta_key该如何订购,_thumbnail_id先来dogs_image-2_thumbnail_id,然后dogs_image-3_thumbnail_id呢?

如果我只是order by meta_key asc按顺序使用编号的图像,但是_thumbnail_id显示在底部而不是顶部.

Bas*_*nni 5

这个怎么样?

SELECT * 
FROM wp_postmeta
WHERE meta_key LIKE "%_thumbnail_id" AND post_id = 897
ORDER BY (CASE WHEN meta_key = '_thumbnail_id' THEN 0 ELSE 1 END) ASC, meta_key
Run Code Online (Sandbox Code Playgroud)

我假设_thumbnail_id是你唯一的奇怪案例.