oracle 临时表 二次查询 子查询

2023-06-05 16:23:20 +08:00
 la0wei

借版问一个 oracle 的问题,表大概示例如下

产品 销售日期 价格
可乐 2023.6.5 2.5
雪碧 2023.6.5 2.5
牛奶 2023.6.6 10
咖啡 2023.6.6 12

…… 程序要查询数据库生成可乐的销售记录 select * from table where 产品='可乐'

但是 1 月呢?可以加一个时间的限制

and SELLDATE>=to_date(1 月初) and SELLDATE<to_date(1 月末),变成

select * from table where 产品='可乐' and SELLDATE>=to_date(1 月初) and SELLDATE<to_date(1 月末) 以此类推,可以得到每个月份的数据。

但是,假设可乐(产品)没有索引,查询时间很长,那么每查一个月份都要来这么一次,实在太慢了。

目前有一个思路是临时表,还有别的路径吗。

搜索得知 oracle 有子查询,不过子查询只有一个输出结果吧,select * from table where 产品='可乐'的输出需要多次用到,该怎么处理?

891 次点击
所在节点    MySQL
2 条回复
DOMO
2023-06-05 16:50:34 +08:00
group by ?
la0wei
2023-06-05 17:00:02 +08:00
@DOMO 非常感谢,这个也进入待选项,我研究下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/945981

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX