Điều này có thể giúp ai đó đang tìm cách sắp xếp bảng theo hai cột, nhưng theo cách song song. Điều này có nghĩa là kết hợp hai loại bằng cách sử dụng chức năng sắp xếp tổng hợp. Nó rất hữu ích khi ví dụ truy xuất các bài viết bằng cách sử dụng tìm kiếm toàn văn bản và cũng liên quan đến ngày xuất bản bài viết.
Đây chỉ là ví dụ, nhưng nếu bạn nắm bắt được ý tưởng, bạn có thể tìm thấy rất nhiều hàm tổng hợp để sử dụng. Bạn thậm chí có thể cân các cột để thích hơn một giây. Hàm của tôi lấy cực trị từ cả hai loại, do đó các hàng có giá trị nhất nằm ở trên cùng.
Xin lỗi nếu có giải pháp đơn giản hơn để thực hiện công việc này, nhưng tôi chưa tìm thấy.
SELECT
`id`,
`text`,
`date`
FROM
(
SELECT
k.`id`,
k.`text`,
k.`date`,
k.`match_order_id`,
@row := @row + 1 as `date_order_id`
FROM
(
SELECT
t.`id`,
t.`text`,
t.`date`,
@row := @row + 1 as `match_order_id`
FROM
(
SELECT
`art_id` AS `id`,
`text` AS `text`,
`date` AS `date`,
MATCH (`text`) AGAINST (:string) AS `match`
FROM int_art_fulltext
WHERE MATCH (`text`) AGAINST (:string IN BOOLEAN MODE)
LIMIT 0,101
) t,
(
SELECT @row := 0
) r
ORDER BY `match` DESC
) k,
(
SELECT @row := 0
) l
ORDER BY k.`date` DESC
) s
ORDER BY (1/`match_order_id`+1/`date_order_id`) DESC