Domanda

esempio -

select * from discussion where title like '%india%' 
UNION 
select * from discussion where title like '%Australia%'

Si mostra i risultati in ordine di ID di discussione miscelazione sia typse dei risultati

Voglio visualizzare India i risultati del primo e poi i risultati dell'Australia e smusso utilizzare l'opzione tutto come ho bisogno di rimuovere le righe duplicate anche.

Cosa si deve fare?

È stato utile?

Soluzione

Si potrebbe aggiungere una colonna di ordine sul

select *, 1 as ORD from discussion where title like '%india%' 
UNION 
select *, 2 as ORD from discussion where title like '%Australia%'

order by ORD

Modifica - 29/11/2010

A causa del duplicato con il problema ORD Stavo pensando a una, forse, modo più elegante per raggiungere tale scopo

Select * from discussion
where title like '%india%' or title like '%Australia%'
order by (case when title like '%india%'then 1 else 2 end)

Altri suggerimenti

Prova:

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
;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top