2009-04-09 17 views

Respuesta

5

Para poder hacer eso, mysql debe saber qué hacer con las otras columnas. Usted GROUP BY la columna que debe ser única y usa una función que le dirá qué hacer con los demás (un llamado aggregate function). MAX() y COUNT() son ejemplos comunes:

SELECT studentId, COUNT(courseId) AS AmountEnrolledCourses 
FROM student_enrollment 
GROUP BY studentId 

SELECT athlete, MAX(distance) AS PersonalRecord 
FROM longjump 
GROUP BY athlete 
+0

También se debe tener en cuenta que si no usa una función de agregado, se usará el valor de la primera ocurrencia. –

-3

SELECT DISTINCT Columna_1, Columna_2, Columna_3 DE Tabla

Usted puede, sin embargo, quieren dar más detalles sobre su pregunta ya que parece un poco demasiado sencillo para mi respuesta a ser la respuesta.

Cuando encabeza el nombre de la columna con DISTINCT, solo está revisando esa columna. ¿Estoy malentendiendo la pregunta?

+0

eso es lo que estoy haciendo actualmente, que comprobará cada campo para asegurarse de que es distinto. solo quiero verificar un campo – gsueagle2008

+0

Puede usar DISTINCT y obtener resultados de campo duplicados de otras columnas. ¿Cuáles son los resultados de sus esfuerzos que están impidiendo el uso de la declaración anterior? – jerebear

+0

La consulta anterior solo comprueba si hay valores DISTINCT en Column_1 – jerebear

3

En su lugar, deberá usar group by.

SELECCIONAR SUM (A), MIN (B), C DE LA TABLA DONDE A> 1 GRUPO POR C;

Tenga en cuenta que si agrupa en una columna y devuelve otras, debe proporcionar algún tipo de forma de agrupar todos esos valores en los otros campos en uno solo. De esa manera se denomina función agregada, y deberá verificar el manual de la versión de su base de datos para saber exactamente cuáles son sus opciones. Ver http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html para mysql.

Cuestiones relacionadas