sách gpt4 ăn đã đi

sql ORDER BY 多个值的特定顺序?

In lại Tác giả: Walker 123 更新时间:2023-11-29 11:05:00 30 4
mua khóa gpt4 giày nike

好的,我有一个带有索引键和非索引字段的表。我需要找到具有特定值的所有记录并返回该行。我想知道我是否可以按多个值排序。

例子:

id x_field
-- -----
123 a
124 a
125 a
126 b
127 f
128 b
129 a
130 x
131 x
132 b
133 p
134 p
135 i

伪:希望结果像这样排序,where ORDER BY x_field = 'f', 'p', 'i', 'a'

LỰA CHỌN *
TỪ bảng
WHERE id NOT IN (126)
ORDER BY x_field 'f', 'p', 'i', 'a'

所以结果是:

id x_field
-- -----
127 f
133 p
134 p
135 i
123 a
124 a
125 a
129 a

语法是有效的,但是当我执行查询时它永远不会返回任何结果,即使我将它限制为 1 条记录。还有其他方法吗?

将 x_field 视为测试结果,我需要验证所有符合条件的记录。我想按失败值、通过值对测试结果进行排序。所以我可以先验证失败的值,然后使用 ORDER BY 验证传递的值。

我不能做什么:

  • GROUP BY,因为我需要返回具体的记录值
  • WHERE x_field IN('f', 'p', 'i', 'a'),我需要所有值,因为我正在尝试使用一个查询进行多个验证测试。并且 x_field 值不是按 DESC/ASC 顺序

写完这个问题后,我开始觉得我需要重新考虑一下,哈哈!

câu trả lời hay nhất

...
Ở ĐÂU
x_field IN ('f', 'p', 'i', 'a') ...
ĐẶT HÀNG THEO
CASE x_field
WHEN 'f' THEN 1
WHEN 'p' THEN 2
WHEN 'i' THEN 3
WHEN 'a' THEN 4
ELSE 5 --needed only is no IN clause above. eg when = 'b'
END, id

关于sql ORDER BY 多个值的特定顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332043/

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress