10/10/2018, 00:04

Các bác giúp câu lệnh truy vấn trong MySQL này.

Tôi có một table như sau:
ID, category , product, postdate
1 2 Laptop 10/02/08
2 3 Pc 12/02/08
3 1 Notebook 11/05/07
4 2 Server 01/01/08
5 2 Laptop2 03/03/08


Bây giờ tôi muốn lọc dữ liệu và hiển thị trên cùng 1 trang các sản phẩm có category giảm dần và trong nhóm có cùng category thì sản phẩm mới đựoc liệt kê trứoc, sản phẩm có date cũ hơn liệt kê sau.
Dùng Group By nhưng không thấy cho kết quả đúng.
3do viết 02:12 ngày 10/10/2018
câu sql của bác như thế nào
zoejoe viết 02:21 ngày 10/10/2018
Được gửi bởi haindse
Tôi có một table như sau:
ID, category , product, postdate
1 2 Laptop 10/02/08
2 3 Pc 12/02/08
3 1 Notebook 11/05/07
4 2 Server 01/01/08
5 2 Laptop2 03/03/08


Bây giờ tôi muốn lọc dữ liệu và hiển thị trên cùng 1 trang các sản phẩm có category giảm dần và trong nhóm có cùng category thì sản phẩm mới đựoc liệt kê trứoc, sản phẩm có date cũ hơn liệt kê sau.
Dùng Group By nhưng không thấy cho kết quả đúng.
Ngày tháng bạn nên để là bigint (chứa timestamp) cho dễ truy xuất và lọc dữ liệu cũng như hiển thị giờ ở những khu vực khác nhau (nến có )
btd82 viết 02:15 ngày 10/10/2018
Không thấy câu lệnh biết đường nào mà help với chả cứu trời
TheHeTre viết 02:18 ngày 10/10/2018
Để tiện cho việc xắp xếp, để định dạng thời gian là DATETIME hoặc lưu dạng unixtime trên trường INT(11).

Sau đó dùng câu truy vấn sau:

SELECT *
FROM table
ORDER BY category ASC, postdate DESC
GROUP BY ở đây không có tác dụng nào cả.
digihomec viết 02:12 ngày 10/10/2018
Liệu có thể dùng Group by category Order by postdate đựoc không? và câu này có ý nghĩa gì?
qhbnnam viết 02:07 ngày 10/10/2018
Được gửi bởi digihomec
Liệu có thể dùng Group by category Order by postdate đựoc không? và câu này có ý nghĩa gì?
Dùng Group by nên kết hợp với các aggregate function
temp2 viết 02:06 ngày 10/10/2018
pác có tối ưu DB của mình chưa? có index trong các table chưa?
Bài liên quan
0