นี่อาจช่วยคนที่กำลังมองหาวิธีจัดเรียงตารางสองคอลัมน์ แต่ในลักษณะที่เป็นอัมพาต ซึ่งหมายถึงการรวมสองประเภทโดยใช้ฟังก์ชั่นการเรียงลำดับรวม มันมีประโยชน์มากเมื่อเช่นการดึงบทความโดยใช้การค้นหาแบบเต็มและยังเกี่ยวข้องกับวันที่เผยแพร่บทความ
นี่เป็นเพียงตัวอย่างเท่านั้น แต่ถ้าคุณเข้าใจความคิดคุณจะพบฟังก์ชั่นรวมจำนวนมากที่จะใช้ คุณสามารถชั่งน้ำหนักคอลัมน์เพื่อเลือกได้มากกว่าหนึ่งวินาที ฟังก์ชั่นของฉันใช้เวลาสุดขั้วจากทั้งสองประเภทดังนั้นแถวที่มีค่าที่สุดจะอยู่ด้านบนสุด
ขออภัยถ้ามีวิธีแก้ไขปัญหาที่ง่ายกว่าในการทำงานนี้ แต่ฉันไม่พบเลย
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