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

2025-03-24 03:42:33
推荐回答(3个)
回答1:

假设你表中的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;

回答2:

SELECT MAX(DATA_DATA) FROM TABLENAME WHERE DATA_TIME >='2009-03-01' AND DATA_TIME <='2009-03-31'

回答3:

select data_time,max(data_data) as data_data from 表名 group by data_time