Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как найти количество(сравнить данные)  [new]
Mixon
Member

Откуда:
Сообщений: 358
Добрый день!
подскажите как сравнить данные?
ниже приведена таблица в которой 3 ключевых поля и 2 поля с данными

Надо найти количество уникальных наборов(поля data_1 и data_2),
ключевые поля k0,k1,k2

table T
(k0 int,k1 int,k2 int, data_1 int, data_2 float)
1, 1, 3, 4, 1.0
2, 1, 3, 5, 2.0

3, 2, 3, 4, 1.0
4, 2, 3, 5, 2.0

5, 9, 3, 8, 1.0

Побывал CHECKSUM_AGG(BINARY_CHECKSUM(*)), но данная функция может выдавать одинаковую контрольную сумму для разных данных, а HASHBYTES() работает только со строкой, не понял как ее применить к выборке.

Заранее спасибо.
22 авг 16, 16:26    [19574251]     Ответить | Цитировать Сообщить модератору
 Re: Как найти количество(сравнить данные)  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
DECLARE @t TABLE (k0 INT, k1 INT, k2 INT, data_1 INT, data_2 FLOAT)
INSERT INTO @t
VALUES
    (1, 1, 3, 4, 1.0),
    (2, 1, 3, 5, 2.0),
    (3, 2, 3, 4, 1.0),
    (4, 2, 3, 5, 2.0),
    (5, 9, 3, 8, 1.0)

SELECT COUNT(*)
FROM (
    SELECT DISTINCT data_1, data_2
    FROM @t
) t

Вы про это имели ввиду?
22 авг 16, 16:31    [19574275]     Ответить | Цитировать Сообщить модератору
 Re: Как найти количество(сравнить данные)  [new]
Mixon
Member

Откуда:
Сообщений: 358
AlanDenton,
не совсем
1, 1, 3, 4, 1.0
2, 1, 3, 5, 2.0

3, 2, 3, 4, 1.0
4, 2, 3, 5, 2.0

5, 9, 3, 8, 1.0

я должен получить что есть 2 варианта

5, 9, 3, 8, 1.0
и
(3, 2, 3, 4, 1.0
4, 2, 3, 5, 2.0
или
1, 1, 3, 4, 1.0
2, 1, 3, 5, 2.0)
22 авг 16, 16:41    [19574367]     Ответить | Цитировать Сообщить модератору
 Re: Как найти количество(сравнить данные)  [new]
Mixon
Member

Откуда:
Сообщений: 358
Объясню приблизительно цель задачи:
итак у нас есть бабушка,дедушка и внучка(ключи k1,k2,k3)
и рецепт пирожков (data_1,data_2 )
так вот у дедушки и бабушки рецепт один (1,2), а у внучки другой(3)
соответственно уникальных рецептов 2 шт.
22 авг 16, 16:46    [19574415]     Ответить | Цитировать Сообщить модератору
 Re: Как найти количество(сравнить данные)  [new]
Mixon
Member

Откуда:
Сообщений: 358
как бы подсчитать контрольную сумму
не использую выше упомянутые функции
22 авг 16, 16:52    [19574456]     Ответить | Цитировать Сообщить модератору
 Re: Как найти количество(сравнить данные)  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
COUNT(*) OVER (PARTITION BY data_1, data_2)
22 авг 16, 16:59    [19574509]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить