如何通过在运算符中使用 SQL 按顺序获取列中的数据

How to get data in a column in order by using SQL in operator

有如下图的数据集;

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

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

它不能,因为默认情况下数据按升序排序,如果你想要你想要的结果,最好创建 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);