Sql 如何按联合结果排序?
我有两个查询与Union“合并”: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
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。