英文:
in(3,7,1,5) need this order wise result
问题
以下是您的查询和您期望的结果:
SELECT * FROM `rsoft_module_fields` WHERE id in (3,7,1,5);
期望结果:
- id 3 应该在第1行,
- id 7 应该在第2行,
- id 1 应该在第3行,
- id 5 应该在第4行
您还提供了一个参考截图。
英文:
SELECT * FROM `rsoft_module_fields` WHERE id in (3,7,1,5);
this is my query but the result show like id's orderwise, but I need the order as What I given in in
condition.
am expected result is given below
id 3 should be in 1 st row,
id 7 should be in 2 nd row,
id 1 should be in 3 rd row,
id 5 should be in 4 th row
答案1
得分: 1
从 `rsoft_module_fields` 表中选择 t1.*
与 (SELECT 3 id, 1 sorting_order UNION ALL
SELECT 7, 2 UNION ALL
SELECT 1, 3 UNION ALL
SELECT 5, 4) t2 使用 (id) 连接
按照 t2.sorting_order 排序
或者:
从 `rsoft_module_fields` 表中选择 *
其中 id 在 (3,7,1,5) 中
按照 FIND_IN_SET(id, '3,7,1,5') 排序;
英文:
SELECT t1.*
FROM `rsoft_module_fields` t1
JOIN (SELECT 3 id, 1 sorting_order UNION ALL
SELECT 7, 2 UNION ALL
SELECT 1, 3 UNION ALL
SELECT 5, 4) t2 USING (id)
ORDER BY t2.sorting_order
Alternatively:
SELECT *
FROM `rsoft_module_fields`
WHERE id in (3,7,1,5)
ORDER BY FIND_IN_SET(id, '3,7,1,5');
</details>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论