sql >> Base de Datos >  >> RDS >> Mysql

Consulta dos db usando group by y muestra información detallada

ÚNETE a ellos:

SELECT r.product_id, i.brand, i.name, i.category, DATE_FORMAT( r.inputTime, '%e-%b' ) AS inputTime, r.shopType, r.price AS minimum_price, r.record_id
FROM (  SELECT *
        FROM itemRecord
        WHERE product_id = '1'
        ORDER BY price ASC, inputTime DESC) AS r
INNER JOIN itemInfo As i
ON r.product_id = i.product_id
WHERE i.id = r.product_id
GROUP BY DATE(r.inputTime)
LIMIT 0, 7

Explicación:

Hago una consulta interna que representa el orden de la tabla por price ASC en lugar del predeterminado, digamos id ASC . Cuando GROUP BY las filas, utiliza por defecto las columnas de la primera fila, que en este caso es la de menor precio.

Su solución no funcionó, ya que también podría haber elegido la primera identificación y no la fila de precio más bajo. La única columna que era correcta era MIN(r.price), pero como notó, esa función no afectó a las otras columnas en el resultado.