Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/11/2014, 06:35
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Duda SQL con DISTINCT

Creo que te confundes tanto con el DISTINCT como con el GROUP BY

Pongamos un ejemplo

a,b,c
1,2,3
1,2,3
1,2,4
1,2,5

Código MySQL:
Ver original
  1. SELECT DISTINCT a,b FROM test;
a,b
1,2

Código MySQL:
Ver original
  1. SELECT DISTINCT a,b,c FROM test;
o lo que es lo mismo
Código MySQL:
Ver original 

a,b,c
1,2,3
1,2,4
1,2,5

Código MySQL:
Ver original
  1. SELECT * FROM test GROUP BY a,b

a,b,c
1,2,3

o

a,b,c
1,2,4

o

a,b,c
1,2,5

depende de el momento y de las condiciones físicas de almacenamiento de tus datos en el disco, lo que quizas depende de la última canción que hayas escuchado en el itunes.

DISTINCT retorna registros con combinaciones únicas de los valores de los campos que pidas.

GROUP BY agrupa registros por los campos que definas y aplica una función de agregado a los otros campos en función de lo que pidas. Si no indicas ninguna función sobre los campos que estes pidiendo fuera de los que definen la agrupación retornara el primer valor que encuentre, igual que SELECT retorna el primer registro que encuentra, no siempre es el mismo, si no defines un ORDER BY.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 04/11/2014 a las 06:45