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