案例:

创建天气小时表和天气日期表

create table dbo.T_WeatherStreetDataHourly (

ID bigint identity(1, 1),

DDATETIME datetime not null,

OBTID nvarchar(50) collate Chinese_PRC_CI_AS not null,

WDIDF2 float null,

WDIDD2 float null,

constraint PK_T_WeatherStreetDataHourly primary key (ID)

on "PRIMARY"

)

on "PRIMARY"

go

create table dbo.T_WeatherStreetDataDaily (

ID bigint identity(1, 1),

DDATETIME datetime not null,

OBTID nvarchar(50) collate Chinese_PRC_CI_AS not null,

DAYWD3SMAXDF2 float null,

DAYWD3SMAXDD2 float null,

constraint PK_T_WeatherStreetDataDaily primary key (ID)

on "PRIMARY"

)

on "PRIMARY"

go

问题:他们都只有 datetime 时间,没有日期date和hour 数据。且datetime 存在重复数据。而显示需要去重显示。

两种方案:1导入数据时去重;2写一个去重的视图,连表查询。

去重视图:

CREATE VIEW V_WeatherStreetDataDailyPart

AS

SELECT CONVERT(date,DDATETIME,112) as DATEA,MAX(DDATETIME) as MaxDATETIME,OBTID

FROM T_WeatherStreetDataDaily

GROUP BY CONVERT(date,DDATETIME,112),OBTID

select * from V_WeatherStreetDataDaily order by DATEA

CREATE VIEW V_WeatherStreetDataHourlyPart

AS

SELECT CONVERT(date,DDATETIME,112) as DATEA,DATEPART(hh,DDATETIME) as Hour, OBTID ,Max(DDATETIME) as MaxDATETIME

FROM T_WeatherStreetDataHourly

GROUP BY CONVERT(date,DDATETIME,112),DATEPART(hh,DDATETIME),OBTID

过滤出重复的记录中 日或(日+小时组合)中的DDATETIME 最大的那一行记录!

然后根据 OBTID 和MaxDATETIME  连表查询。

--------------------------------------------------------------------------------------------

知识点1

selectconvert(date,getdate())selectconvert(date,‘2016-11-5 12:20:45.567‘)

显示:2016-11-05

知识点2

sqlserver 截取日期年份和月份使用datepart函数,函数使用方法如下:

一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

二、语法:DATEPART(datepart,date)

三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:

四、实例

1、截取年份:datepart(yy,‘2017-1-1‘) 返回:2017

2、截取月份:datepart(mm,‘2017-1-1‘) 返回:1

五、datepart函数返回的是整型数值,如果需要返回字符型,那么使用datename()函数,用法与datepart相同,只是返回数据类型不同。

------------------------------------------------------------------------------

参考文章:

一 整体思路

假设你表中的DATA_TIME字段是日期类型,如果是字符类型,需要对下列语句做修改

SQL SERVER

SELECT CONVERT(CHAR(8),DATA_TIME,112) 日期,MAX(DATA_DATA)

FROM TABLE_NAME

GROUP BY CONVERT(CHAR(8),DATA_TIME,112)

ORDER BY 1

ORACLE

SELECT TRUNC(DATA_TIME) 日期,MAX(DATA_DATA)

FROM TABLE_NAME

GROUP BY TRUNC(DATA_TIME)

ORDER BY 1;

按照你的要求的话是不是要保留每条记录,然后每条记录再显示出当日的最大值?

如果是这样,SQL SERVER中需要原表和每日的最大值的嵌套表做关联;ORACLE用分析函数,下面是ORACLE的语句

SELECT TO_CHAR(DATA_TIME,‘YYYY-MM-DD HH24:MI:SS‘) 时间,

DATA_DATA "当前值",

MAX(DATA_DATA) OVER(PARTITION BY TRUNC(DATA_TIME))"当日最大值"

FROM TABLE_NAME

ORDER BY 1;

二、

SQL Server取datetime的日期部分

https://www.cnblogs.com/edong/archive/2016/11/18/6077922.html

SQL按照日、周、月、季度、年统计数据的方法

转载源:http://www.jb51.net/article/42613.htm

原文:https://www.cnblogs.com/hao-1234-1234/p/12327241.html

oracle 查询日期最大值,sql语句查询每天数据中的最大值相关推荐

  1. oracle图书操作、sql语句查询+授权、视图、索引、表操作

    oracle图书操作.sql语句查询+授权.视图.索引.表操作 一.创建一张表book,表结构为(总编号,分类号,书名,作者,出版单位,单价),插入若干记录 二.创建一张表reader,表结构为(借书 ...

  2. oracle中where中使用函数,Oracle 尽量避免在 SQL语句的WHERE子句中使用函数

    -- Start 在 WHERE 子句中应该尽量避免在列上使用函数,因为这样做会使该列上的索引失效,影响SQL 语句的性能.即使该列上没有索引,也应该避免在列上使用函数.考虑下面的情况: CREATE ...

  3. vb mysql 查询_vb中用sql语句查询数据库

    给你个完整的吧.Dim rs1 As New ADODB.Recordset   '定义数据集对象 Dim cnn As New ADODB.Connection     '定义数据连接 Privat ...

  4. oracle 查看用户日志,Oracle查看用户操作sql语句以及数据库日志

    --查看日志文件 select member from v$logfile; --查看表空间使用情况 SELECT SUM(bytes) / (1024 * 1024) AS free_space, ...

  5. 查询Oracle正在执行的sql语句

    --查询Oracle正在执行的sql语句及执行该语句的用户 [sql] view plaincopy SELECT b.sid oracleID, b.username 登录Oracle用户名, b. ...

  6. 查询Oracle正在执行的sql语句,锁表,解锁

    原文出处:http://blog.csdn.net/jlds123/article/details/6572559 ----------------------- --查询Oracle正在执行的sql ...

  7. oracle查运行sql语句,查询Oracle正在执行的SQL语句

    查询Oracle正在执行的sql语句及执行该语句的用户 查看正在执行sql的发起者的调用程序 查出oracle当前的被锁对象 结束当前的锁对象 无 SELECT b.sid oracleID, b.u ...

  8. oracle字段长度大于3的值,sql语句查询字段长度大于6

    sql语句怎么在一个数据库中查找拥有同一字段名的所有表 1.在Oracle中,这样写就可以解决了select column_name,table_name from user_tab_columns ...

  9. Oracle数据库表连接查询并分页SQL语句提示未明确定义列

    Oracle数据库表连接查询并分页SQL语句提示未明确定义列 两张表中的字段: t_product t_category product_id category_id product_name cat ...

最新文章

  1. C# 多线程 参数传递
  2. mysql性能优化教程_mysql性能优化教程
  3. 科大星云诗社动态20210118
  4. sqlite3命令详解
  5. sqoop——将mysql数据库的数据表导入到hdfs上
  6. 【转】近期Coolite控件的技术点总结
  7. 云现场 | 为什么说边缘计算是5G时代的必备品?
  8. Failed to find Build Tools revision 26.0.1
  9. 手机归属地查询演示代码
  10. 推荐:绝对是最好用的公式编辑器
  11. steam安装包_Steam已经绑定了令牌,为什么还会频繁被盗?
  12. 密歇根州立大学教授刘小明讲解:人脸识别的新技术 | 大牛讲堂
  13. Windows 桌面美化
  14. @Secured()、 @PreAuthorize() 、 @RolesAllowed()
  15. 原生 js 实现点击按钮复制文本
  16. 重新装mysql出现乱码,数据库出现乱码的原因和解决办法
  17. python更改图片中物体的颜色_Python实现去除图片中指定颜色的像素功能示例
  18. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest:Gym 101667K
  19. eSDK 华为ICT能力开放平台
  20. linux 升级root,linux系统内核升级实例

热门文章

  1. C语言基础-程序员买房子问题
  2. 【数据挖掘】关联规则基本概念及Apropri算法
  3. 数据采集研究背景和意义?
  4. 医学高材生们,思维导图给你4个高效学习技巧
  5. Hyper-V安装Centos7无法联网问题解决
  6. 北通无线游戏手柄不识别
  7. 智能在线整体防雷系统解决方案
  8. python爬取问卷星内容_python问卷星爬虫bug求助
  9. nacos 集成 zipkin sleuth实现链路追踪(入门篇)
  10. 密码框点击眼睛显示隐藏