我有一个SQL查询,我在IN中使用了一个id列表,我希望我的结果按照我的列表排序

Ama*_*jee 3 php mysql

我的疑问是

SELECT *
FROM `wp_patient_bill`
WHERE `bill_code` !=''
AND `is_billed` = 'Y'
AND `charged` = 'N'
AND `id` IN (97,419,631,632,633,422,635,421,35,799,60,423)
Run Code Online (Sandbox Code Playgroud)

我希望记录数组将根据我的列表即ID进行排序

97,419,631,632,633,422,635,421,35,799,60,423'

.我正在使用PHP.请建议我优化的方式来做到这一点.

Raj*_*han 5

这是另一个解决方案:

SELECT *
FROM `wp_patient_bill`
WHERE `bill_code` !=''
AND `is_billed` = 'Y'
AND `charged` = 'N'
AND `id` IN (97,419,631,632,633,422,635,421,35,799,60,423)
ORDER BY FIELD(`id`,97,419,631,632,633,422,635,421,35,799,60,423)
Run Code Online (Sandbox Code Playgroud)

参考:查询中按IN值序列的SQL顺序