Агрегатная функция по уникальному идентификатору (GUID)

Допустим, у меня есть следующая таблица:

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

В основном, я хочу выполнить следующий SQL:

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

Это не обязательно должно быть МИН. Я просто хочу вернуть по одному GUID для каждой категории. Мне все равно, какой именно. К сожалению, SQL Server не допускает MIN или MAX для GUID.

Конечно, я мог бы преобразовать guid в varchar или создать какой-нибудь вложенный TOP 1 SQL, но это кажется уродливым решением. Есть ли какое-нибудь элегантное решение, которое я пропустил?

47
задан Heinzi 20 May 2011 в 08:33
поделиться