【发布时间】:2012-01-30 21:44:57
【问题描述】:
这是我的查询
(SELECT *, 1 as ob FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only three doors%" OR `joke` LIKE "%only three doors%") )
UNION
(SELECT *, 2 as ob FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only%" OR `joke` LIKE "%only%") )
UNION
(SELECT *, 3 as ob FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%three%" OR `joke` LIKE "%three%") )
UNION
(SELECT *, 4 as ob FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%doors%" OR `joke` LIKE "%doors%"))
ORDER BY `ob` ASC, `ups` DESC,`downs` ASC LIMIT 0, 30
现在我的问题是我得到了重复的结果。有没有办法修改它,所以我不会得到重复。
选择的顺序比上升或下降更重要。
我还想指出,select 语句的数量发生了变化。
【问题讨论】:
标签: mysql select sql-order-by union