valores unicos traer repetir repetidos registros obtener mostrar eliminar duplicados distintos consulta buscar agrupar sql

unicos - traer registros repetidos sql



Cómo seleccionar registros únicos por SQL (7)

Depende de qué rown quieras devolver para cada artículo único. Sus datos parecen indicar el valor de datos mínimo, por lo que en este caso para SQL Server.

SELECT item, min(data) FROM table GROUP BY item

Cuando realizo "SELECT * FROM table" obtengo resultados como a continuación:

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

Como puede ver, hay registros de duplex de la columna 2 (elemento 1 están duplicados). Entonces, ¿cómo podría obtener un resultado como este?

1 item1 data1 2 item2 data3 3 item3 data4

Solo se devuelve un registro del duplicado, junto con el resto de los registros únicos.


Encuentro que si no puedo usar DISTINCT por algún motivo, entonces GROUP BY funcionará.


Para obtener todas las columnas en su resultado, debe colocar algo como:

SELECT distinct a, Table.* FROM Table

colocará una como la primera columna y el resto serán TODAS las columnas en el mismo orden que su definición. Esto es, la columna a se repetirá.


Puede usar SELECT DISTINCT o GROUP BY para hacer esto.

SELECT DISTINCT a, c FROM table_c

o

SELECT a, b FROM table_c GROUP BY a, b

GROUP BY será más útil si desea usar alguna función agregada como COUNT() o SUM()

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


Seleccione Eff_st desde (seleccione EFF_ST, ROW_NUMBER () encima (PARTITION BY eff_st) XYZ - desde ABC.CODE_DIM

) donde XYZ = 1 ordena por EFF_ST busca solo las primeras 5 filas


Si solo necesita eliminar duplicados, utilice DISTINCT . GROUP BY debe usar para aplicar operadores agregados a cada grupo

GROUP BY v DISTINCT


solo use la unión interna porque group by no funcionará con varias columnas que digan que no están contenidas en ninguna de las funciones agregadas.

SELECT a.* FROM yourtable a INNER JOIN (SELECT yourcolumn, MIN(id) as id FROM yourtable GROUP BY yourcolumn ) AS b ON a.yourcolumn= b.yourcolumn AND a.id = b.id;