gpt4 book ai didi

mysql - 按特定顺序从数据库中提取行(不使用 ORDER BY)

转载 作者:行者123 更新时间:2023-11-29 02:04:44 25 4
gpt4 key购买 nike

基本上我有一个 merchantid 的 18、36、90 列表。我想用这些 merchantid 提取所有行。

在第一种情况下,我想拉取 merchantid 为 18、36、90 的行。以下 MYSQL 语句以正确的顺序提取它们,因为巧合的是 merchantid 或按升序排列:

SELECT * FROM tblMerchants WHERE merchantid=18 OR merchantid=36 OR merchantid=90

如果我想以不同的顺序(例如 36、90、18,既不是升序也不是降序)提取带有 merchantid 的行怎么办?谢谢!

最佳答案

除非您在查询中有明确的 ORDER BY,否则永远不要假设您的数据将按特定顺序返回(因为您声明您的结果当前按升序 merchantid 返回)。

出于此处的目的,您可以使用 CASE 语句对所需订单进行硬编码。

SELECT *
FROM tblMerchants
WHERE merchantid IN (18, 36, 90)
ORDER BY CASE WHEN merchantid=36 THEN 1
WHEN merchantid=90 THEN 2
WHEN merchantid=18 THEN 3
ELSE 4
END

关于mysql - 按特定顺序从数据库中提取行(不使用 ORDER BY),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8567192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com