楼主: bensonwu
4809 5

[程序分享] 利用RODBC包从PostgreSQL数据库中查询股价日数据和周数据 [推广有奖]

  • 1关注
  • 26粉丝

已卖:4041份资源

博士生

11%

还不是VIP/贵宾

-

威望
0
论坛币
23136 个
通用积分
686.4277
学术水平
72 点
热心指数
58 点
信用等级
35 点
经验
3329 点
帖子
182
精华
1
在线时间
66 小时
注册时间
2007-9-24
最后登录
2024-11-27

楼主
bensonwu 发表于 2009-8-6 13:12:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
数据库共708.6万行,数据388MB,索引213MB共600MB。查周数据第一次查询587行用281ms,以后几次为47ms和63ms,查日数据2846行,花费125ms。

没有进行过SQL的优化,谁能改进查询请在下面跟贴。下面是我的代码:

library(RODBC)
#连接数据库
channel <- odbcConnect("postgresql35w", uid="postgres", pwd="admin")

#从股价数据库中读入上证日指数
a<- sqlQuery(channel ,"
SELECT
  stockprice.date,
  stockprice.price
FROM
  public.stockprice
WHERE
  stockprice.code = 'SH000001' AND
  stockprice.date > '1997-10-28'
ORDER BY
  stockprice.date ASC")

#从股价数据库中读入深证日指数
sz<- sqlQuery(channel ,"
SELECT
  stockprice.date,
  stockprice.price
FROM
  public.stockprice
WHERE
  stockprice.code = 'SZ399001' AND
  stockprice.date > '1997-10-28'
ORDER BY
  stockprice.date ASC")

#从股价数据库中读入相关股票周价格
gg<- sqlQuery(channel ,"
select * from
  (select LAST_VALUE(date) OVER (PARTITION  BY to_char(date , 'IYYYIW')) as Wdate,
          LAST_VALUE(price)  OVER (PARTITION  BY to_char(date , 'IYYYIW')) as Wprice
    from (
SELECT
    stockprice.date,
    stockprice.price
FROM
    public.stockprice
WHERE
    stockprice.code = 'SH600030' AND
    stockprice.date > '1997-10-28'
ORDER BY
    stockprice.date ASC) as  ap) as week
group by Wdate , Wprice
order by Wdate")
#断开数据库连接
odbcClose(channel)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:PostgreSQL RODBC包 SQL数据库 RODBC post 数据库 查询 股价 PostgreSQL RODBC

沙发
dyspider 发表于 2009-12-21 14:34:02
学习了,谢谢:)

藤椅
ssawee 发表于 2009-12-23 13:03:16
有个RPostgresql的包可以不通过ODBC连接上POSTGRESQL

板凳
bensonwu 发表于 2009-12-24 09:35:10
在pgAdmin III中所做的解释查询:

报纸
shinehe123 发表于 2018-8-9 15:49:24
R语言貌似很高深!

地板
屋檐滴语 发表于 2018-8-9 17:10:28
学习了,谢谢分享!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 21:45