【发布时间】:2011-08-29 11:43:05
【问题描述】:
假设我有下表:
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,但这似乎是一个丑陋的解决方法。我错过了一些优雅的解决方案吗?
【问题讨论】:
-
你为什么要这样做?你可以改用
SELECT DISTINCT category FROM myTable吗?或者您真的需要每个类别的任意 GUID? -
@veredesmarald:是的,我需要每个类别的任意 GUID。
标签: sql sql-server guid aggregate uniqueidentifier