Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ordenar resultados segun "Where"

Estas en el tema de Ordenar resultados segun "Where" en el foro de Mysql en Foros del Web. Estimados haber si alguien se le ocurre como hacer esto: Supongamos la siguiente consulta: Código: SELECT * FROM datos WHERE nombre LIKE '%juan%' AND gustos ...
  #1 (permalink)  
Antiguo 01/04/2009, 07:22
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 9 meses
Puntos: 4
Ordenar resultados segun "Where"

Estimados haber si alguien se le ocurre como hacer esto:

Supongamos la siguiente consulta:

Código:
SELECT * FROM datos WHERE nombre LIKE '%juan%'  AND gustos LIKE '%helado%' AND actividades LIKE '%futbol%'

Si nos damos cuenta son 3 condiciones de busqueda, la duda es la siguiente:

Al momento de listar los resultados, como puedo ordenarlos de acuerdo al que "coincidio" mas veces, osea, el que cumplio con 3, luego 2 y luego 1 condicion de los "WHERE"..


¿Alguien me ayuda?

Gracias!
__________________
Roberto Osses Elgueta
Senior Web Developer
  #2 (permalink)  
Antiguo 01/04/2009, 08:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: Ordenar resultados segun "Where"

Una opción:
select (if(nombre='Juan',1,0)+if(gustos='helado',1,0)+if( actividades='fútbol',1,0)) aciertos, nombre, gustos, actividades FROM tabla ORDER BY aciertos DESC
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:21.