3

2 つの異なる母集団からカウントを取得するユニオン クエリがあります。昇順/降順ではなく、クエリに書き込まれた順序で結果を返すように強制するにはどうすればよいですか?

select count(datediff(yyyy,dob,admitdate) as counts
from myTable
where condition
union
select count(datediff(yyyy,dob,admitdate) as counts
from myTable
where condition

最初の結果が常に最初の行として返されるようにしたいと思います。これは可能ですか?

4

2 に答える 2

6

ORDER BY 句で順序を指定する必要があります。あなたの例では、次のようにします。

SELECT 1 AS seq, COUNT(datediff(yyyy,dob,admitdate) as counts
  FROM myTable
 WHERE ...condition-1...
UNION
SELECT 2 AS seq, COUNT(datediff(yyyy,dob,admitdate) as counts
  FROM myTable
 WHERE ...condition-2...
 ORDER BY seq
于 2012-05-11T17:01:23.150 に答える
1
select 1, count(datediff(yyyy,dob,admitdate) as counts
from myTable
where condition
union
select 2, count(datediff(yyyy,dob,admitdate) as counts
from myTable
where condition
order by 1
于 2012-05-11T17:02:15.733 に答える