gpt4 book ai didi

mysql - mysql 按值排序

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

我有一个产品列表,其中 ID 列作为主键,类别 ID 是外键。我想通过某种方式覆盖它们。

ID    |   Name   | CategoryID
----------------------------
1 | one | 1
2 | two | 2
3 | three | 1
4 | four | 3
5 | five | 5
6 | six | 4
7 | seven | 2
8 | eight | 1

如果上面是我的表。我想在 SQL 中获取它们,如下所示

如果想以某种方式订购这些产品,其中类别 5 的所有产品都需要首先出现我正在运行这样的查询。

SELECT * FROM Product ORDER BY CategoryID IN (5), ID

这很好地完成了工作。

但现在我需要先显示类别 ID 5,然后再显示类别 ID 2,然后再显示其余的

如果我尝试

SELECT * FROM Product ORDER BY CategoryID IN (5), CategoryID IN (2), ID ASC

那是行不通的。

任何建议

最佳答案

您可以使用 MySQL 的 FIELD()功能:

SELECT * FROM Product ORDER BY FIELD(CategoryID, 2, 5) DESC

查看 sqlfiddle .

关于mysql - mysql 按值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17572434/

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