【发布时间】:2012-01-30 21:26:05
【问题描述】:
这是我的查询
(SELECT * FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only three doors%" OR `joke` LIKE "%only three doors%") ORDER BY `ups` DESC,`downs` ASC)
UNION
(SELECT * FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only%" OR `joke` LIKE "%only%") ORDER BY `ups` DESC,`downs` ASC)
UNION
(SELECT * FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%three%" OR `joke` LIKE "%three%") ORDER BY `ups` DESC,`downs` ASC)
UNION
(SELECT * FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%doors%" OR `joke` LIKE "%doors%") ORDER BY `ups` DESC,`downs` ASC)
LIMIT 0, 30
由于某种原因,它似乎并没有按起起落落排序......它只是按照它们在数据库中的自然顺序将结果扔回给我。
当我将其缩减为仅一个查询时,它可以正常工作,但除此之外,它似乎忽略了它。
我也不想按整个结果排序,否则我会输入LIMIT 0,30 Order By blah
【问题讨论】:
标签: mysql select sql-order-by union