T-sql 获取每天的最小值和最大值

2023-12-13

我正在尝试编写一个查询,每天从价格详细信息表中获取每件商品的最低和最高价格。

在价格详细信息表中,价格每天设置多次,因此同一日期有许多记录。因此,我想要一个表,其中每个日期都有一行,然后将该表连接到同一个表,因此对于每个不同的日期,我想要最小值和最大值。

USE [a_trading_system]
GO

/****** Object:  Table [dbo].[price_details]    Script Date: 07/01/2012 17:28:31 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[price_details](
    [price_id] [int] IDENTITY(1,1) NOT NULL,
    [exch_ticker] [varchar](8) NOT NULL,
    [price_set_date] [datetime] NOT NULL,
    [buy_price] [decimal](7, 2) NOT NULL,
    [sell_price] [decimal](7, 2) NOT NULL,
 CONSTRAINT [PK_price_detail] PRIMARY KEY CLUSTERED 
(
    [price_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,   ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[price_details]  WITH CHECK ADD  CONSTRAINT    [FK_price_details_Contract] FOREIGN KEY([exch_ticker])
REFERENCES [dbo].[Contract] ([exch_ticker])
GO

ALTER TABLE [dbo].[price_details] CHECK CONSTRAINT [FK_price_details_Contract]
GO

SQL查询

select distinct 
substring(convert(varchar(12),p1.price_set_date), 0, 12),
p2.exch_ticker,
(select MIN(buy_price) from price_details ),
(select MAX(buy_price) from price_details )
from price_details as p1

left join price_details as p2 on p2.exch_ticker = p1.exch_ticker 

where p1.exch_ticker = p2.exch_ticker

group by p1.price_set_date, p2.exch_ticker

Summary

桌子上有很多同一天设定的价格。想要每个交易所代码每天的最小值和最大值。

Thanks


一个简单的group by应该管用:

select  cast(price_set_date as date) as [Date]
,       exch_ticker 
,       min(buy_price) as MinPrice
,       max(buy_price) as MaxPrice
from    price_details as p
group by 
        exch_ticker
,       cast(price_set_date as date)

不确定为什么您的示例查询使用自连接。如果有充分的理由,请为您的问题添加解释。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

T-sql 获取每天的最小值和最大值 的相关文章

随机推荐

  • AWS:如何让我的弹性 beanstalk 实例使用我的新预留实例

    因此 目前我有一个应用程序在 m3 medium 实例上运行 它只是在欧盟 爱尔兰地区运行的单个实例 如果我转到 EC2 并购买 m3 medium 的预留实例 我的 Elastic beanstalk 实例何时开始使用它 它是刚刚发生还是
  • LEFT OUTER 加入 Rails 3

    我有以下代码 posts Post joins user joins blog select 其目的是查找所有帖子并返回它们以及相关的用户和博客 然而 用户是可选的 这意味着INNER JOIN that joins生成不会返回大量记录 我
  • Clrdump (C++) 错误 LNK2019:函数 _main 中引用的无法解析的外部符号 __imp__RegisterFilter@8

    我正在使用带有 pvcs 编译器的 makefile 系统 使用 Microsoft Visual C 2008 编译器 并且收到以下形式的几个链接错误 error LNK2019 unresolved external symbol im
  • 如何在 OpenCV Android 中进行迭代

    我使用 OpenCV4Android 将这段代码转换为 Java 但它们不是 OpenCV4Android 中 matiterator 的 Java 包装器 void show result const cv Mat labels cons
  • jQuery offset() 在某些浏览器和某些计算机上不起作用

    我在某些浏览器中定位元素时遇到问题 我正在使用 jQuery 自动完成功能here 包含自动完成值的 div 应直接位于文本框下方 并完美对齐 该代码通过使用生成的 left 属性来设置 div 的 css left 属性 textbox
  • 根据foldr 定义foldl

    myFoldl a gt b gt a gt a gt b gt a myFoldl f z xs foldr step id xs z where step x g a g f a x 我目前正在读一本关于 Haskell 的书 在其中
  • WM_ENDSESSION 消息有问题

    我有一个问题WM ENDSESSION信息 即我想退出应用程序的主循环 WindowProc WM ENDSESSION消息正在发送 所以 我写了类似的东西 LRESULT CALLBACK windowProc HWND hwnd UIN
  • Zookeeper:无法写入 PID

    所以我正在尝试开始使用 Accumulo 我安装了 Hadoop 它运行时没有问题 但是当我尝试启动 Zookeeper 时 我得到 JMX enabled by default Using config opt zookeeper bin
  • 从字符串中提取时间

    我有这个字符串 它的结果是净时间 SERVER NAMEcmd 中的命令 SERVER NAME 的当前时间是 3 31 2014 9 35 57 AM 命令成功完成 我想提取该字符串中显示的时间 在本例中为 9 35 37 AM 我认为这
  • 表别名如何影响性能?

    在阅读有关调整 SQL 查询的内容时 我在某处读到 当使用多个表时 请始终使用表别名并在所有列名称前添加别名前缀 表别名如何影响性能 或者它们真的有影响吗 别名不影响性能以任何实际或可衡量的方式根本没有 编辑时添加斜体 也就是说 它会为查询
  • 如何在不启用使用运行时包构建的情况下使用 Delphi Dll

    最近我开始了一个包含如此多表单 框架和额外控件的项目 因此我的应用程序不断膨胀 我在项目中使用了 3 个 exe 全部由 Delphi 2009 制作 并且这些应用程序也共享相同的框架和表单 所以我使用 dll 来共享这些表单 但出现了一个
  • 从 XML 到 Oracle PL/SQL 环境中的路径列表

    请假设您有一个 XML 文件 例如 存储在也有 CLOB 列的 Oracle 表中
  • 在 anaconda python 发行版中添加 cairo 包

    我刚开始使用 python 的 anaconda 发行版 并且在安装 cairo 包时遇到问题 请注意 我使用的是 Mac OsX 我运行了以下命令conda install channel https conda binstar org
  • 我想要“实时物化视图”,其中包含任何行的最新信息

    我将此解决方案视为物化视图的替代方案 我想要最新记录的 物化视图 但它使用的是最多每 3 小时运行一次的计划查询 我的用户期待实时数据 我该怎么办 2018 年 10 月 BigQuery 不支持物化视图 但您可以使用这种方法 使用之前的解
  • 如何在控制台应用程序中监听键盘事件

    现在 我正在开发一个有点像 bash 的命令行应用程序 为了实现自动完成功能 我必须知道用户已按下 Tab 键 但我不知道如何在控制台应用程序中监听键盘事件 有任何想法吗 提前致谢 这比看起来稍微复杂一些 也许你应该看看jline为您处理一
  • 我希望它在 JavaScript 测验中继续到数组中的下一个元素

    所以我有一些代码 一旦完成一个问题 它就会停止 一旦你选择一个问题并完成问题并做对 它就会继续处理数组中的下一个问题 但如果你做错了它停止了 我还有一个小错误 当您输入问题编号并垃圾邮件输入键时 它会继续到数组上的问题 0 如果您能帮忙 请
  • yylloc 在此范围内未定义

    我在编译文件时遇到以下问题 我已经重写了 YYLTYPE 的定义 如下所示 虽然它与默认值相同 但我将扩展它 typedef struct YYLTYPE int first line int first column int last l
  • 如何创建一个以双引号作为默认引号格式的Python字典?

    我正在尝试创建一个 python 字典 该字典将用作 html 文件内的 java 脚本 var 以实现可视化目的 作为必要条件 我需要创建所有名称都包含在双引号内的字典 而不是 Python 使用的默认单引号 有没有一种简单而优雅的方法来
  • Python Paramiko,PermissionError:[Errno 13]从远程服务器获取文件时权限被拒绝

    import paramiko os paramiko util log to file E Automation paramiko log from stat import S ISDIR host xx xx xxx xxx port
  • T-sql 获取每天的最小值和最大值

    我正在尝试编写一个查询 每天从价格详细信息表中获取每件商品的最低和最高价格 在价格详细信息表中 价格每天设置多次 因此同一日期有许多记录 因此 我想要一个表 其中每个日期都有一行 然后将该表连接到同一个表 因此对于每个不同的日期 我想要最小