Таблицы
ID Count
1 30
2 30
3 10
4 15
5 10
6 25
Я хочу запрос, который даст мне
4 15
6 25
в результате
Таблицы
ID Count
1 30
2 30
3 10
4 15
5 10
6 25
Я хочу запрос, который даст мне
4 15
6 25
в результате
Вы можете использовать NOT EXISTS
:
SELECT ID, Count
FROM dbo.TableName t1
WHERE NOT EXISTS
(
SELECT 1 FROM dbo.TableName t2
WHERE t1.ID <> t2.ID AND t1.Count = t2.Count
)
Следующее должно выбрать то, что вы хотите:
SELECT t.ID, t.[Count]
FROM Table t
WHERE
(SELECT COUNT(*) FROM Table t1 WHERE t1.[Count] = t.[Count]) = 1
Обратите внимание, что у вас действительно должен быть индекс на Table.[Count]
.
вы также можете сделать это с помощью оператора группировки
SELECT MIN(ID), Count
FROM Table
GROUP BY Count
HAVING COUNT(*) = 1
Используйте HAVING вместе с COUNT DISTINCT, чтобы ограничить результат:
SELECT [Id], [Count]
FROM MyTable
WHERE [Count] IN (
SELECT [Count]
FROM MyTable
GROUP BY [Count]
HAVING COUNT(DISTINCT [Count]) = 1
)
Count
. 08.05.2014