Как выбрать уникальные записи SQL

Когда я выполняю "ВЫБОР * таблица FROM", я получил результаты как ниже:

1 item1 data1
2 item1 data2
3 item2 data3
4 item3 data4

Как Вы видите, существуют записи дубликата от column2 (item1, копируются). Таким образом, как мог я просто получить результат как это:

1 item1 data1
2 item2 data3
3 item3 data4

Только одна запись возвращается из дубликата, наряду с остальной частью уникальных записей.

69
задан isapir 28 July 2019 в 20:00
поделиться

3 ответа

Для этого можно использовать SELECT DISTINCT или GROUP BY .

SELECT DISTINCT a, c
FROM table_c

или

SELECT a, b
FROM table_c
GROUP BY a, b

GROUP BY будут более полезными если вы хотите использовать некоторую агрегатную функцию, например COUNT () или SUM ()

SELECT a, b, count(*)
FROM table_c
GROUP BY a, b

SELECT a, b, sum(d)
FROM table_c
GROUP BY a, b
84
ответ дан 24 November 2019 в 13:51
поделиться

Это зависит от того, какой роун вы хотите вернуть за каждый уникальный предмет. Ваши данные, кажется, указывают минимальное значение данных, поэтому в этом случае для SQL Server.

SELECT item, min(data)
FROM  table
GROUP BY item
9
ответ дан 24 November 2019 в 13:51
поделиться

Если вам нужно только удалить дубликаты, используйте DISTINCT . GROUP BY следует использовать для применения агрегатных операторов к каждой группе

GROUP BY v DISTINCT

20
ответ дан 24 November 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: