Когда я выполняю "ВЫБОР * таблица FROM", я получил результаты как ниже:
1 item1 data1
2 item1 data2
3 item2 data3
4 item3 data4
Как Вы видите, существуют записи дубликата от column2 (item1, копируются). Таким образом, как мог я просто получить результат как это:
1 item1 data1
2 item2 data3
3 item3 data4
Только одна запись возвращается из дубликата, наряду с остальной частью уникальных записей.
Для этого можно использовать 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
Это зависит от того, какой роун вы хотите вернуть за каждый уникальный предмет. Ваши данные, кажется, указывают минимальное значение данных, поэтому в этом случае для SQL Server.
SELECT item, min(data)
FROM table
GROUP BY item
Если вам нужно только удалить дубликаты, используйте DISTINCT
. GROUP BY
следует использовать для применения агрегатных операторов к каждой группе