THAM GIA với họ:
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
Giải thích:
Tôi thực hiện một truy vấn bên trong hiển thị thứ tự bảng theo price ASC
thay vì mặc định, hãy nói id ASC
. Khi bạn GROUP BY
các hàng, nó sử dụng các cột từ hàng đầu tiên theo mặc định, trong trường hợp này là cột có giá thấp nhất.
Giải pháp của bạn không hoạt động vì nó cũng có thể đã chọn id đầu tiên chứ không phải hàng giá thấp nhất. Cột duy nhất đúng là MIN (r.price), nhưng như bạn nhận thấy rằng hàm đó không ảnh hưởng đến các cột khác trong kết quả.