例子 -联合查询,显示结果写入
select * from discussion where title like '%india%'
UNION
select * from discussion where title like '%Australia%'
它显示我在讨论ID的顺序结果混合结果
我想显示印度的两个typse的成绩放在第一位,然后澳大利亚的结果我不能使用Option ALl,因为我也需要删除重复的行。
应该做什么?
例子 -联合查询,显示结果写入
select * from discussion where title like '%india%'
UNION
select * from discussion where title like '%Australia%'
它显示我在讨论ID的顺序结果混合结果
我想显示印度的两个typse的成绩放在第一位,然后澳大利亚的结果我不能使用Option ALl,因为我也需要删除重复的行。
应该做什么?
你可以添加一列命令的
select *, 1 as ORD from discussion where title like '%india%'
UNION
select *, 2 as ORD from discussion where title like '%Australia%'
order by ORD
编辑 - 由于与ORD问题重复我是29/11/2010
考虑一个,也许更优雅的方式来实现这个
Select * from discussion
where title like '%india%' or title like '%Australia%'
order by (case when title like '%india%'then 1 else 2 end)
尝试:
SELECT * FROM
(
select 1 OrderNo, d.* from discussion d where title like '%india%'
UNION
select 2 OrderNo, d.* from discussion d where title like '%Australia%'
)
ORder by OrderNo
select * from
(
select * from discussion where title like '%india%'
UNION
select * from discussion where title like '%Australia%'
)
ORDER BY title DESC
;
+1,迄今为止唯一的答案,不打扰与外部选择。 – 2010-11-02 08:49:29
谢谢它的工作。 – nishant 2010-11-09 11:24:20
这里有一个问题,它也给我重复的条目。其中一个结果可能会出现多次。什么是解决方案 – nishant 2010-11-27 10:47:36