
Lo que quiero es hacer una consulta que me liste productos pero uno de cata categoria, intente algo de ponerle WHERE codicate != codicate pero obvio no funciono, espero puedan ayudarme.
Gracias.
| ||||
Respuesta: No mostrar dos productos de la misma categoria En realidad la consulta es sencilla, pero algo ilógica. Me explico: que te liste uno sólo de cada categoría es sencillo, alcanza con agrupar por categoría.
Código MySQL:
El problema es que esta consulta te mostrará el primero que encuentre de cada categoría. Siempre. Todas las veces que lo hagas lo hará de la misma forma.Ver original Lo que no resulta muy lógico es que no planteas ningún criterio en especial para las categorías a mostrar, por lo que la mayoría de los productos (todos aquellos donde haya más de uno por categoría) desaparecerán siempre, es decir que jamás te los mostrará. ¿No sería mejor que pongas alguna forma en que los productos varíen un poco? Bueno, es tu decisión, pero no lo veo muy práctico. ¿No te parece?
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: No mostrar dos productos de la misma categoria Claro es basico el GROUP BY jaja se me habia olvidado, Gracias. Respecto a tu sugenrecia pues lo que hago: Tengo un campo en la tabla productos novisto -> Numero de veces visto <- cada que alguien entra a ver ese producto incremento el valor de ese campo y la consulta la hago asi:
Código SQL:
Ver original Me arroja 15 registros agrupados por categorias pero no los ignora que al ordenarlos pues muestra los mas vistos. Te parece buena solucion?
__________________ Aprendiendo!!! |
| ||||
Respuesta: No mostrar dos productos de la misma categoria No, porque el ORDER BY opera luego del GROUP BY, lo que significa que si el primer valor de novisto de una categoría dada fuese cero (o lo que sea que guardes) y el segundo fuese mayor a cero, el GROUP BY sólo te dejará en cero esa categoría, lo que daría una información falsa. Eso es simplemente porque el ORDER BY ordena lo que ya fue agrupado. Para hacer lo que dices debes hacerlo desde una subconsulta. Precisamente por eso es que te decía que había que aplicar un criterio en la consulta de las categorías. Algo así:
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: No mostrar dos productos de la misma categoria Cita: Gracias. Solucionado...
Iniciado por gnzsoloyo ![]() No, porque el ORDER BY opera luego del GROUP BY, lo que significa que si el primer valor de novisto de una categoría dada fuese cero (o lo que sea que guardes) y el segundo fuese mayor a cero, el GROUP BY sólo te dejará en cero esa categoría, lo que daría una información falsa. Eso es simplemente porque el ORDER BY ordena lo que ya fue agrupado. Para hacer lo que dices debes hacerlo desde una subconsulta. Precisamente por eso es que te decía que había que aplicar un criterio en la consulta de las categorías. Algo así:
__________________ Aprendiendo!!! |
Etiquetas: |