Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何按联合结果排序?_Sql_Postgresql - Fatal编程技术网

Sql 如何按联合结果排序?

Sql 如何按联合结果排序?,sql,postgresql,Sql,Postgresql,我有两个查询与Union“合并”: A union B 我希望结果按特定列排序 例如: A id sum dateissue 5 30 1.1.15 8 14 2.4.15 B id sum dateissue 13 30 1.4.12 8 14 4.4.15 与order bydateissue列联合后的预期结果: id sum dateissue 13 30 1.4.12

我有两个查询与Union“合并”:

A

union 

B
我希望结果按特定列排序

例如:

A

id   sum    dateissue
5     30     1.1.15
8     14     2.4.15
B

id   sum    dateissue
13     30     1.4.12
8     14     4.4.15
与order bydateissue列联合后的预期结果:

id   sum    dateissue
13    30     1.4.12           : from B           
5     30     1.1.15           : from A
8     14     2.4.15           : from A
8     14     4.4.15           : from B
我试着去做

(A)
Union
(B)
order by dateissue
但它给出了错误:

错误:“dateissue”列不存在

我如何对工会的结果进行排序

SELECT  * 
FROM 
        (
            SELECT id, sum, dateissue FROM A 
            UNION ALL
            SELECT id, sum, dateissue FROM B
        ) dum
ORDER BY dateissue
顺序在SELECT*中生效

SELECT * FROM (

SELECT id, sum, dateissue FROM A 
UNION ALL
SELECT id, sum, dateissue FROM B
) dum ->

id   sum    dateissue
5     30     1.1.15
8     14     2.4.15
13     30     1.4.12
8     14     4.4.15

ORDER BY dateissue ->

id   sum    dateissue
13    30     1.4.12         
5     30     1.1.15
8     14     2.4.15 
8     14     4.4.15
在同一行中,可以使用UNION ALL:

顺序在SELECT*中生效

SELECT * FROM (

SELECT id, sum, dateissue FROM A 
UNION ALL
SELECT id, sum, dateissue FROM B
) dum ->

id   sum    dateissue
5     30     1.1.15
8     14     2.4.15
13     30     1.4.12
8     14     4.4.15

ORDER BY dateissue ->

id   sum    dateissue
13    30     1.4.12         
5     30     1.1.15
8     14     2.4.15 
8     14     4.4.15
在同一行中,可以使用UNION ALL:

顺序在SELECT*中生效

SELECT * FROM (

SELECT id, sum, dateissue FROM A 
UNION ALL
SELECT id, sum, dateissue FROM B
) dum ->

id   sum    dateissue
5     30     1.1.15
8     14     2.4.15
13     30     1.4.12
8     14     4.4.15

ORDER BY dateissue ->

id   sum    dateissue
13    30     1.4.12         
5     30     1.1.15
8     14     2.4.15 
8     14     4.4.15
在同一行中,可以使用UNION ALL:

顺序在SELECT*中生效

SELECT * FROM (

SELECT id, sum, dateissue FROM A 
UNION ALL
SELECT id, sum, dateissue FROM B
) dum ->

id   sum    dateissue
5     30     1.1.15
8     14     2.4.15
13     30     1.4.12
8     14     4.4.15

ORDER BY dateissue ->

id   sum    dateissue
13    30     1.4.12         
5     30     1.1.15
8     14     2.4.15 
8     14     4.4.15
您可以使用UNION ALL:如果是同一行,请尝试以下方法:

SELECT * FROM A
UNION
SELECT * FROM B
ORDER BY dateissue; 
试试这个:

SELECT * FROM A
UNION
SELECT * FROM B
ORDER BY dateissue; 
试试这个:

SELECT * FROM A
UNION
SELECT * FROM B
ORDER BY dateissue; 
试试这个:

SELECT * FROM A
UNION
SELECT * FROM B
ORDER BY dateissue; 

您只需要确保第一个选择确实提取了“dateissue”,即

select id, sum, dateissue
from a
where...

union

select id, sum, dateissue
from a
where...

order by dateissue;

为了澄清这一点,“order by”应用于完整的结果集(在联合之后)。

您只需确保第一次选择实际上提取了“dateissue”,即

select id, sum, dateissue
from a
where...

union

select id, sum, dateissue
from a
where...

order by dateissue;

为了澄清这一点,“order by”应用于完整的结果集(在联合之后)。

您只需确保第一次选择实际上提取了“dateissue”,即

select id, sum, dateissue
from a
where...

union

select id, sum, dateissue
from a
where...

order by dateissue;

为了澄清这一点,“order by”应用于完整的结果集(在联合之后)。

您只需确保第一次选择实际上提取了“dateissue”,即

select id, sum, dateissue
from a
where...

union

select id, sum, dateissue
from a
where...

order by dateissue;


为了澄清,将“order by”应用于完整的结果集(在union之后)。

该特定顺序背后有什么逻辑?1.1不应该早于1.4吗?@Mihai它是由issuedate列排序的。。。。看看这一年。。。1.4.12在1.1.15之前提供查询A和B的代码。通常的
联合
可以有一个
ORDER BY
。还有什么类型的dateissuequestion被标记为postgresql。该特定顺序背后的逻辑是什么?1.1不应该在1.4之前吗?@Mihai它是按issuedate列排序的。。。。看看这一年。。。1.4.12在1.1.15之前提供查询A和B的代码。通常的
联合
可以有一个
ORDER BY
。还有什么类型的dateissuequestion被标记为postgresql。该特定顺序背后的逻辑是什么?1.1不应该在1.4之前吗?@Mihai它是按issuedate列排序的。。。。看看这一年。。。1.4.12在1.1.15之前提供查询A和B的代码。通常的
联合
可以有一个
ORDER BY
。还有什么类型的dateissuequestion被标记为postgresql。该特定顺序背后的逻辑是什么?1.1不应该在1.4之前吗?@Mihai它是按issuedate列排序的。。。。看看这一年。。。1.4.12在1.1.15之前,请提供查询A和B的代码。通常的
联合
可以具有
订购人
。此外,dateissuequestion的类型标记为postgresql。