如何按 MySQL 的 return 行按照 IN 函数中给出的 id 的顺序?
How to return rows by MySQL in order of ids given inside IN function?
我有一个名为 resources
的 table。我现在正在使用这个查询:
Select
Resource.id, Resource.status
from
resources as Resource
where
Resource.id IN ('53f4c1b8-7b60-42c9-ad88-324d16091b4e' , '53f4cb98-f5c4-448d-9bd4-3ac516091b4e',
'53ccf77e-5ce0-4868-aa2e-395716091b4e',
'53f4c9ba-693c-4c17-a16f-36d516091b4e')
当我查询时,我得到了基于排序 id
的 return 行。即,具有第二个 ID 的行首先 returned。好吧,它是这样工作的。这些行是 return 根据 ID 升序排列的。现在,我需要根据我提供的输入 return 行。即,53f4c1b8-7b60-42c9-ad88-324d16091b4e 应该 return 作为第一行。我应该在此查询中更改什么才能得到这样的结果?
where
Resource.id IN ('53f4c1b8-7b60-42c9-ad88-324d16091b4e' , '53f4cb98-f5c4-448d-9bd4-3ac516091b4e',
'53ccf77e-5ce0-4868-aa2e-395716091b4e',
'53f4c9ba-693c-4c17-a16f-36d516091b4e')
ORDER BY FIELD( Resource.id,'53f4c1b8-7b60-42c9-ad88-324d16091b4e' , '53f4cb98-f5c4-448d-9bd4-3ac516091b4e',
'53ccf77e-5ce0-4868-aa2e-395716091b4e',
'53f4c9ba-693c-4c17-a16f-36d516091b4e')
我有一个名为 resources
的 table。我现在正在使用这个查询:
Select
Resource.id, Resource.status
from
resources as Resource
where
Resource.id IN ('53f4c1b8-7b60-42c9-ad88-324d16091b4e' , '53f4cb98-f5c4-448d-9bd4-3ac516091b4e',
'53ccf77e-5ce0-4868-aa2e-395716091b4e',
'53f4c9ba-693c-4c17-a16f-36d516091b4e')
当我查询时,我得到了基于排序 id
的 return 行。即,具有第二个 ID 的行首先 returned。好吧,它是这样工作的。这些行是 return 根据 ID 升序排列的。现在,我需要根据我提供的输入 return 行。即,53f4c1b8-7b60-42c9-ad88-324d16091b4e 应该 return 作为第一行。我应该在此查询中更改什么才能得到这样的结果?
where
Resource.id IN ('53f4c1b8-7b60-42c9-ad88-324d16091b4e' , '53f4cb98-f5c4-448d-9bd4-3ac516091b4e',
'53ccf77e-5ce0-4868-aa2e-395716091b4e',
'53f4c9ba-693c-4c17-a16f-36d516091b4e')
ORDER BY FIELD( Resource.id,'53f4c1b8-7b60-42c9-ad88-324d16091b4e' , '53f4cb98-f5c4-448d-9bd4-3ac516091b4e',
'53ccf77e-5ce0-4868-aa2e-395716091b4e',
'53f4c9ba-693c-4c17-a16f-36d516091b4e')