gpt4 book ai didi

sql - 唯一标识符 (GUID) 上的聚合函数

转载 作者:行者123 更新时间:2023-12-01 18:01:39 25 4
gpt4 key购买 nike

假设我有下表:

category | guid
---------+-----------------------
A | 5BC2...
A | 6A1C...
B | 92A2...

基本上,我想要执行以下 SQL:

SELECT category, MIN(guid)
FROM myTable
GROUP BY category

它不一定是 MIN。我只想返回每个类别的一个 GUID。我不在乎是哪一个。不幸的是,SQL Server 不允许在 GUID 上使用 MIN 或 MAX。

当然,我可以将 guid 转换为 varchar,或者创建一些嵌套的 TOP 1 SQL,但这似乎是一个丑陋的解决方法。我错过了一些优雅的解决方案吗?

最佳答案

只需将其转换为 BINARY(16)

SELECT category, MIN(CAST(guid AS BINARY(16)))
FROM myTable
GROUP BY category

如有必要,您可以稍后将其转换回来。

WITH CategoryValue
AS
(
SELECT category, MIN(CAST(guid AS BINARY(16)))
FROM myTable
GROUP BY category
)
SELECT category, CAST(guid AS UNIQUEIDENTIFIER)
FROM CategoryValue

关于sql - 唯一标识符 (GUID) 上的聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069368/

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