易截截图软件、单文件、免安装、纯绿色、仅160KB

求查询效率最高的sql语句

有个房间价格表RP:
id  roomid  price    startDate    endDate        inputDate
1    1      1000    2009-10-1    2009-10-11    2009-10-1
2    1      800    2009-10-10    2009-10-20    2009-10-5

某天的价格可能有多个,以最新录入的为准。没有记录的记price为0。

获取roodid=1的房间从2009-10-1到2009-10-25的price总和,该怎么写sql执行效率最高啊?总不能一天一天的获取累加吧,那样如果是在程序里执行累加的,读取数据库太频繁了,效率也是最低的。
某天的价格可能有多个,以最新录入的为准
在这张表里怎么体现?

存储过程游标去取就行了,遍历起来还是挺快的
还有上面说的最新记录那么就是取是当天的时间max(id)的记录吧

使用存储过程我觉得可行,除了游标还有没有什么好的方法?毕竟游标效率太低。因为查找的时间是以开始日期和结束日期来取的,是连续的,用循环也行。
大家还有什么好方法没?

“获取roodid=1的房间从2009-10-1到2009-10-25的price总和”这个要求是必须时刻体现、即时刷新的吗?

sum不就行了?

统计求和.
  只是酒店房价管理把. . 没那么麻烦, 你想多了


id  roomid  price    startDate    endDate        inputDate
1    1      1000    2009-10-1    2009-10-11    2009-10-1
2    1  &nbs


相关问答:

sql server 存储过程循环赋值的问题

小弟是个新手 现在有个问题一直不能解决
例如
procedure produce_proc
    @p001 nvarchar(8000),
    @p002 nvarchar(8000),
    @p003 nvarchar(8000),
  & ......

关于group by的sql语句?

  with adod_dict do
    begin
    close;
    commandtext:='select bgqxcode,count(*) wjsl from wscl_wsda_file where wjnd=:tnd group by bgqxcode'; ......

sql 问题

PB中开发的。

DateTime startTime=DateTime(em_1.Text)
DateTime endTime=DateTime(em_2.Text)

string sql
sql = dw_1.GetSQLSelect()+"Where (StartTime> '"+startTime+&q ......

更新sql语句

我的语句为str1.Format("UPDATE wz set title='%s',class='%s',nr='%s',[date]='%s' WHERE num='%d'",
m_bt, strTemp, fromClipboard, time5,m_num);
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号