Tôi có một tuyên bố mysqlMySQL chọn GROUP BY để
SELECT *
FROM tbl_messages
WHERE to_user_id = '$user_id' OR from_user_id = '$user_id'
GROUP BY from_user_id
ORDER BY date_sent DESC
và nó được sản xuất kết quả chính xác tuy nhiên họ không theo đúng thứ tự.
Tính năng nhóm hoạt động tốt nhưng bản ghi được hiển thị trong nhóm là bản ghi đầu tiên được nhập vào DB nhưng tôi muốn bản ghi mới nhất được hiển thị trong mỗi nhóm.
Có cách nào để có bản ghi mới nhất được hiển thị cho mỗi nhóm không?
2011-12-19 12:16:25 This is the first message
2011-12-19 12:18:20 This is the second message
2011-12-19 12:43:04 This is the third message
Nhóm hiển thị 'Đây là thư đầu tiên' mà tôi muốn 'Đây là thư thứ ba' vì đó là bản ghi/thư gần đây nhất.
Cheers
Truy vấn phải hiển thị là gì? –
Nếu bạn chỉ cần hai cột (ví dụ: ID và dấu thời gian mới nhất của nó), điều này có thể hoạt động: http://stackoverflow.com/a/4448536/722036. Đó là ** nhanh hơn ** so với sử dụng truy vấn phụ trên một bảng lớn với hàng triệu hàng. –