gpt4 book ai didi

sql - SQL Server中如何写客户订单依据

转载 作者:行者123 更新时间:2023-12-02 08:06:26 24 4
gpt4 key购买 nike

我有一些这样的示例数据。

这里是逻辑顺序

  1. 第一个订单 createDate
  2. col1 的第二个订单包含单词 Tom 需要注意大小写
  3. col2的第三次排序不关心大写和小写

示例数据:

|   col1 |        col2 |           createDate |
+--------+-------------+----------------------+
| S Amy | Apple pie | 2018-06-19T00:00:00Z |
| U Tom | Apple pie | 2018-06-19T00:00:00Z |
| kevin | banana pie | 2018-06-18T00:00:00Z |
| U tOm | Apple pie | 2018-06-19T00:00:00Z |
| k tom | Apple juice | 2018-06-18T00:00:00Z |
| Stanly | Apple pie | 2018-06-18T00:00:00Z |
| Tom | banana pie | 2018-06-19T00:00:00Z |

示例数据 sqlfiddle:http://sqlfiddle.com/#!18/6c729/1

我已经尝试过这个查询。不知道能不能达到预期的效果。

SELECT *
FROM myTable
ORDER BY createDate DESC

当前结果:

|   col1 |        col2 |           createDate |
+--------+-------------+----------------------+
| S Amy | Apple pie | 2018-06-19T00:00:00Z |
| U Tom | Apple pie | 2018-06-19T00:00:00Z |
| U tOm | Apple pie | 2018-06-19T00:00:00Z |
| Tom | banana pie | 2018-06-19T00:00:00Z |
| k tom | Apple juice | 2018-06-18T00:00:00Z |
| Stanly | Apple pie | 2018-06-18T00:00:00Z |
| kevin | banana pie | 2018-06-18T00:00:00Z |

我不知道如何做第二个和第三个条件。

我的预期结果:

|   col1 |        col2 |           createDate |
+--------+-------------+----------------------+
| U Tom | Apple pie | 2018-06-19T00:00:00Z |
| Tom | banana pie | 2018-06-19T00:00:00Z |
| S Amy | Apple pie | 2018-06-19T00:00:00Z |
| U tOm | Apple pie | 2018-06-19T00:00:00Z |
| k tom | Apple juice | 2018-06-18T00:00:00Z |
| Stanly | Apple pie | 2018-06-18T00:00:00Z |
| kevin | banana pie | 2018-06-18T00:00:00Z |

我们将不胜感激。

最佳答案

您可以尝试在 ORDER BY 上使用 CASE WHEN

看起来像这样。

SELECT *
FROM myTable
ORDER BY
createDate DESC,
CASE
WHEN col1 collate Chinese_PRC_CS_AS like '%Tom%' THEN 2
WHEN col2 like '%apple%' THEN 1
ELSE 0
END DESC

注意:

  • 整理Chinese_PRC_CS_AS区分大小写

sqlfiddle:http://sqlfiddle.com/#!18/66fd1/2

结果:

|   col1 |        col2 |           createDate |
|--------|-------------|----------------------|
| U Tom | Apple pie | 2018-06-19T00:00:00Z |
| Tom | banana pie | 2018-06-19T00:00:00Z |
| S Amy | Apple pie | 2018-06-19T00:00:00Z |
| U tOm | Apple pie | 2018-06-19T00:00:00Z |
| k tom | Apple juice | 2018-06-18T00:00:00Z |
| Stanly | Apple pie | 2018-06-18T00:00:00Z |
| kevin | banana pie | 2018-06-18T00:00:00Z |

关于sql - SQL Server中如何写客户订单依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51051120/

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