Pertanyaan Hapus urutan default dengan dari Pernyataan serikat


Saya ingin menampilkan data seperti ini:

Column1        Column2
-----------------------
TotalAvg         60%

A1               50%

B1               70%

Z1               60%

Script sql saya adalah sesuatu seperti:

select 'Total Avg' as Column1,'60%' as Column2

union

select Column1,Column2 from tblAvg

dan hasil yang saya dapatkan adalah sesuatu seperti ini:

Column1        Column2
------------------------

A1               50%

B1               70%

TotalAvg         60%

Z1               60%

Pertanyaan: Saya ingin menghapus pengurutan default dan ingin hasil dalam urutan yang kami lakukan tabel gabungan.


4
2017-08-24 13:17


asal


Jawaban:


SELECT
  *
FROM
(
  select 0 as pos, 'Total Avg' as Column1, '60%' as Column2
  union
  select 1 as pos,                Column1,          Column2 from tblAvg 
)
  AS data
ORDER BY
  pos, column1, column2

1
2017-08-24 13:21



Anda bisa menambahkan kolom yang menentukan urutan hasil:

select 'Total Avg' as Column1,'60%' as Column2, 1 as OrderCol
union
select Column1,Column2, 2 from tblAvg
order by OrderCol

Tanpa sebuah order by, database bebas untuk mengembalikan baris dalam urutan apa pun.


8
2017-08-24 13:21



Anda dapat melakukan sesuatu seperti ini

select * From
(
select 'Total Avg' as Column1,'60%' as Column2, 1 as ItemOrder

union

select Column1,Column2,2 from tblAvg
) innertable
Order By ItemOrder

1
2017-08-24 13:21



Coba gunakan

select 'Total Avg' as Column1,'60%' as Column2

union all

select Column1,Column2 from tblAvg

0
2017-08-24 13:20