0

有一个数据集如下图所示;

在此处输入图像描述

例如,当 event_type 的输入为 4、1、2、3 时,我想按此顺序从 cnt_stamp 获取 3、999、3、9。我创建了如下所示的 SQL 代码,但无论输入的顺序如何,它似乎总是返回 999、3、9、3。如何修复 SQL 以实现此目的?感谢您抽出宝贵时间,如果您有任何问题,请告诉我。

SELECT `cnt_stamp` FROM `stm_events` WHERE `event_type` in (4,1,2,3)
4

2 回答 2

1

在查询中添加 ORDER BY FIELD(event_type, 4, 1, 2, 3)。它应该看起来像:

SELECT cnt_stamp FROM stm_events WHERE event_type in (4,1,2,3) ORDER BY FIELD(event_type, 4, 1, 2, 3);
于 2018-06-06T02:53:17.887 回答
-1

它不能,因为默认情况下数据按升序排序,如果你想要你想要的结果,最好你创建 1 列用于索引

于 2018-06-06T02:52:27.953 回答