09/10/2018, 23:38
Hỏi câu lệnh SQL??? gấp gấp
- Cần tìm n kết quả mới nhất theo posttime (order by posttime)
- Sắp xếp kết quả theo `hits` của 10 kết quả trên
Các bình thường là lôi 10 kết quả theo posttime rồi dùng php sắp xếp theo hits, nhưng ko chuyên nghiệp với lại server lại mệt công hơn. Bác nào có câu lệnh sql ngắn gọn nào giải quyết vấn đề nầy giùm em.
có thể dùng câu lệnh vòng vèo sellect 2 lần nhưng mà kô ổn vì sẽ tăng thêm phần làm quá tải sql kô ổn!
SELECT * FROM `table` where `id` in ( Select `id` from `table` ORDER BY `posttime` DESC LIMIT 10) order by hits DESC
- Sắp xếp kết quả theo `hits` của 10 kết quả trên
Các bình thường là lôi 10 kết quả theo posttime rồi dùng php sắp xếp theo hits, nhưng ko chuyên nghiệp với lại server lại mệt công hơn. Bác nào có câu lệnh sql ngắn gọn nào giải quyết vấn đề nầy giùm em.
có thể dùng câu lệnh vòng vèo sellect 2 lần nhưng mà kô ổn vì sẽ tăng thêm phần làm quá tải sql kô ổn!
SELECT * FROM `table` where `id` in ( Select `id` from `table` ORDER BY `posttime` DESC LIMIT 10) order by hits DESC
Bài liên quan
FROM tableName
ORDER BY postime + hits DESC
LIMIT 10
FROM tableName
ORDER BY cond DESC
LIMIT 10
xem ra dùng cái nầy vẫn gọn nhất, hok bít có bác nào có cách ngon lành hơn kô?
----
Quên mất là hình như lệnh order by này chỉ sắp xếp chủ yếu theo biến ban đầu thui thì phải , còn từ biến thứ 2 chở đi là nó chỉ sắp xếp theo các hàng trùng nhau của biến 1, mình nói gì sai mong các bạn giúp đỡ , quả thiệt cũng hơi kém SQL ^^