我有这个postgres sql查询:
select Symbol,Date,Year,DayofYear Close
from DailyPricesAMEX
where symbol = IBM
order by DayofYear DESC;
查询的输出是:
Symbol Year DayofYear
IBM 2014 99
IBM 2014 98
IBM 2014 97
IBM 2014 9
IBM 2014 89
IBM 2014 88
我想要的是:
Symbol Year DayofYear
IBM 2014 99
IBM 2014 98
IBM 2014 97
IBM 2014 89
IBM 2014 88
IBM 2014 9
我被困,任何人都有任何想法。
答案 0 :(得分:1)
在我看来,DayofYear
被保存为VARCHAR
。请尝试以下方法:
select Symbol,Date,Year,DayofYear Close
from DailyPricesAMEX
where symbol = IBM
order by DayofYear::integer DESC;
http://sqlfiddle.com/#!15/40a2f/2
<强> HINT 强>: 最好将列的类型更改为整数。因此,您可以使用以下内容:
ALTER TABLE DailyPricesAMEX ALTER COLUMN DayofYear TYPE integer USING (DayofYear::integer);