Duda expres y rapida para una consulta en base de datos!

Iniciado por ZharkD, 5 Agosto 2010, 02:17 AM

0 Miembros y 1 Visitante están viendo este tema.

ZharkD

Buenas,

Tengo esta consulta:
mysql_query("SELECT * FROM table WHERE estado=1 ORDER BY puntos DESC LIMIT 6");
Sin emabrgo, cada fila consta de dos elementos que necesito que no se repitan, alguna idea de como hacerlo?
Por ejemplo, tabla:
ID | ESTADO | EL1 | EL2 | PUNTOS
1 | 1 | a | b | 1500
2 | 1 | x | c | 200
3 | 1 | a | b | 400

Suponiendo que solo quiero mostrar dos (de tres filas), my ejecucion mostraria el ID 1 y 3, sin embargo, tienen los mismos dos elementos, por lo que deseo que NO se muestren filas con elementos (EL1 y EL2) similares, alguna idea de como hacerlo?

Gracias.

#!drvy

#1
Conozco 2 formas de hacerlo... una es con distinct y la otra con group by...
yo prefiero la de group by.

Código (sql) [Seleccionar]
SELECT ID,ESTADO,EL1,EL2,PUNTOS FROM wakala WHERE estado=1 GROUP by EL1,El2 ORDER BY puntos DESC LIMIT 0,2

por lo que obtendrias algo asi:

ID | ESTADO | EL1 | El2 | PUNTOS
1     1        a      b      1500
2     1        x      c       200


no creo que sea la mejor forma pero ahi va XD



Saludos

ZharkD

Cita de: BadStupidMonkey en  6 Agosto 2010, 06:56 AM
Conozco 2 formas de hacerlo... una es con distinct y la otra con group by...
yo prefiero la de group by.

Código (sql) [Seleccionar]
SELECT ID,ESTADO,EL1,EL2,PUNTOS FROM wakala WHERE estado=1 GROUP by EL1,El2 ORDER BY puntos DESC LIMIT 0,2

por lo que obtendrias algo asi:

ID | ESTADO | EL1 | El2 | PUNTOS
1     1        a      b      1500
2     1        x      c       200


no creo que sea la mejor forma pero ahi va XD



Saludos
Gracias por la respeusta, olvide notificar que lo habia solucionado ese mismo dia unas horas despues, efectivamente con GROUP BY :)

Gracias por su atencion, pueden cerrar tema :)