English 中文(简体)
与联合国决策委员会协商
原标题:Sorting with an SQL UNION query

我有两个问题,我想在我的SQL中回答。 我发现,联合国的想法能够帮助我这样做,但它并不完美,因为它没有保留所附的每一个问题的命令。 显然,我要这样做:

(SELECT name,city FROM people WHERE xxx ORDER BY yyy) 
UNION 
(SELECT name,city FROM people WHERE zzz ORDER BY www)

但是,当有“共识”时,Kall在欧安会的发言中获胜。

一种解决办法是,首先为每个分区和秩序增加一个集体领域:

(SELECT name,city, 0  as bogus FROM people WHERE xxx) 
UNION 
(SELECT name,city, 1  as bogus FROM people WHERE zzz) 
ORDER by bogus ASC, wwwzzz

but this is deeply inefficient as the query has to go through all fields to sort on the bogus field. Do you know of any workaround?

谢谢。

最佳回答

您是否尝试使用<代码>UNION ALL而不是UNION?

见http://dev.mysql.com/doc/refman/5.0/en/union.html。

e.g:

(SELECT name,city, 0  as bogus FROM people WHERE xxx) 
UNION ALL
(SELECT name,city, 1  as bogus FROM people WHERE zzz) 
ORDER by bogus ASC, wwwzzz
问题回答

I m completely winging it here as I only have experience with MsSql so please excuse me if this is useless, but can you store the unordered result set into a temporary table then select that with the required order clause? Or similarly make the union statement a sub/inner query and place the order clause on the outer query?

首先,不使用<代码>UNION但。 <代码>UN将消除所有重复,因此可以分类数据。

而且,一个“宝库”的全球合成物也是这样:

sql_query: compound_statement [order_by_clause]
compound_statement: select_statement [ set_operator compound_statement ]

因此,你只能使用<一>条码>。 在<条码>后评价的<<>条码/代码>或<条码> 如果你想要取得部分成果,则使用分局。





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签