Técnicamente, usted no necesita una consulta tales; cualquier RDBMS digno de su sal no permitirá la inserción de una fila que produciría una clave primaria duplicada en la tabla. Tal cosa viola la definición misma de una clave primaria.
Sin embargo, si usted está buscando para escribir una consulta para encontrar duplicados de estos grupos de columnas antes de la aplicación de una clave principal a la tabla que consta de estas columnas, entonces esto es lo que se quiere:
select
t.user_id, t.round, t.tournament_id
from
table as t
group by
t.user_id, t.round, t.tournament_id
having
count(*) > 1
lo anterior sólo le dará la combinación de columnas que tienen más de una fila para esa combinación, si quieres ver todas las columnas en las filas, a continuación, lleve a cabo lo siguiente:
select
o.*
from
table as o
inner join (
select
t.user_id, t.round, t.tournament_id
from
table as t
group by
t.user_id, t.round, t.tournament_id
having
count(*) > 1
) as t on
t.user_id = o.user_id and
t.round = o.round and
t.tournament_id = o.tournament_id
Tenga en cuenta que también puede crear un temporary table y unirse a eso si necesita usar los resultados varias veces.
¿Para qué es RDBMS? ¿Y quieres ver las filas duplicadas o solo las duplicadas? –
¿Su tabla tiene actualmente alguna clave primaria? Si es así, ¿qué es? –
tbh no puede tener claves primarias duplicadas –