sql语句查询每日数据中的最大值

有一个表只有两列data_timedata_data,data_time中是一个月内每天从0点到23点的时间,例如2009-03-0100:04:56,data_data... 有一个表只有两列
data_time data_data,data_time中是一个月内每天从0点到23点的时间,例如2009-03-01 00:04:56,data_data是每小时收集的数据,现要查询一个月内每天收集数据中的最大值,该怎样查询?
查询结果最好只显示data_time精确到秒的具体时间和data_data每日的最大值,谢谢各位啦!急用啊!
展开
 我来答
庆桖松0im
推荐于2016-09-05 · TA获得超过1065个赞
知道小有建树答主
回答量:894
采纳率:0%
帮助的人:696万
展开全部
假设你表中的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;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-04-16
展开全部
SELECT MAX(DATA_DATA) FROM TABLENAME WHERE DATA_TIME >='2009-03-01' AND DATA_TIME <='2009-03-31'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0零零漆
2009-04-16 · TA获得超过640个赞
知道小有建树答主
回答量:1295
采纳率:0%
帮助的人:1618万
展开全部
select data_time,max(data_data) as data_data from 表名 group by data_time
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式