當前位置:首頁 » 編程語言 » sql取得日期最大值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql取得日期最大值

發布時間: 2022-05-05 09:52:54

『壹』 sql 找出指定日期范圍最大值的資料

自關聯一次,過濾不符合條件.

1. Create Table SLEEST_ANSWER And Init Data

CREATETABLE`sleest_answer`(
`date`datetimeDEFAULTNULL,
`user`varchar(10)DEFAULTNULL,
`correct`int(11)DEFAULTNULL,
`wrong`int(11)DEFAULTNULL,
`total_marker`int(11)DEFAULTNULL
)ENGINE=InnoDBDEFAULTCHARSET=utf8;

INSERTINTO`sleest_answer`VALUES('2016-05-3012:00:00','User1',12,0,12),('2016-05-1809:00:00','User1',14,2,12),('2016-05-1721:00:00','User1',10,1,9),('2016-05-2413:15:00','User2',14,3,11),('2016-05-2713:15:00','User2',15,4,11),('2016-05-3014:00:00','User2',15,4,11),('2016-04-2916:00:00','User1',18,2,16);

2. Query Result

SELECTA.DATE,A.USER,A.CORRECT,A.WRONG,A.TOTAL_MARKER
FROMSLEEST_ANSWERALEFTJOINSLEEST_ANSWERB
ONA.USER=B.USER
AND(A.TOTAL_MARKER<B.TOTAL_MARKER
OR(A.TOTAL_MARKER=B.TOTAL_MARKERANDA.CORRECT<B.CORRECT)
OR(A.TOTAL_MARKER=B.TOTAL_MARKERANDA.CORRECT=B.CORRECTANDA.WRONG>B.WRONG)
OR(A.TOTAL_MARKER=B.TOTAL_MARKERANDA.CORRECT=B.CORRECTANDA.WRONG=B.WRONGANDA.DATE<B.DATE)
)
ANDB.DATEBETWEEN'2016-05-01'AND'2016-05-31'
WHERE1=1
ANDA.DATEBETWEEN'2016-05-01'AND'2016-05-31'
ANDB.USERISNULL

『貳』 sql語句查詢每日數據中的最大值

假設你表中的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中日期可以表示的最大值,和最小值是

  • 如果類型是「datetime」 數據類型:

最大是9999年12 月31日

最小是1753年1月1日

  • 如果類型是smalldatetime 數據類型

最大值是2079 年 6 月 6 日

最小值是1900 年 1 月 1 日

『肆』 sql 按日期 取數值最大的

給你個思路:
WITH Messages (ID,ToEmpID,FromEmpID,SendDate,Detail) AS
(
SELECT 1,'張三','李四','2014/06/05','a' UNION ALL
SELECT 2,'王五','張三','2014/06/03','b' UNION ALL
SELECT 3,'劉六','張三','2014/06/02','b' UNION ALL
SELECT 4,'張三','李四','2014/05/05','a' UNION ALL
SELECT 5,'王五','張三','2014/05/03','b' UNION ALL
SELECT 6,'劉六','張三','2014/05/02','b'
)
SELECT ID,ToEmpID,FromEmpID,SendDate FROM Messages a
WHERE ID in
(
SELECT TOP 1 ID
FROM Messages
where ToEmpID=a.ToEmpID AND FromEmpID=a.FromEmpID
ORDER BY SendDate DESC
)

『伍』 sql取日期最大的情況下 值最大的

有幾種方式可以選擇
(1)按照日期和d/c的倒敘排列,然後利用rownum取第一行,具體寫法要測試
(2)子查詢,先利用max(b)找到日期最大值,然後在等於日期最大值的情況下,找d/c的最大值。
(3)根據插入規律找日期,比如你是今天上午九點插入昨天的日期,那麼只要過了9點你就sysdate-1,截取到日期,然後再吵最大值就行了。沒過9點就sysdate-2,至於過沒過9點,如果你要寫過程的的話,價格判斷就行。

『陸』 SQL中如何選擇表中日期最大值

給你個思路:

WITHMessages(ID,ToEmpID,FromEmpID,SendDate,Detail)AS
(
SELECT1,'張三','李四','2014/06/05','a'UNIONALL
SELECT2,'王五','張三','2014/06/03','b'UNIONALL
SELECT3,'劉六','張三','2014/06/02','b'UNIONALL
SELECT4,'張三','李四','2014/05/05','a'UNIONALL
SELECT5,'王五','張三','2014/05/03','b'UNIONALL
SELECT6,'劉六','張三','2014/05/02','b'
)
SELECTID,ToEmpID,FromEmpID,SendDateFROMMessagesa
WHEREIDin
(
SELECTTOP1ID
FROMMessages
whereToEmpID=a.ToEmpIDANDFromEmpID=a.FromEmpID
ORDERBYSendDateDESC
)

『柒』 sql取 日期最大值的數據

Select top 1 [bianma] from [biao] Order by date desc

『捌』 sql 語句 獲取最大值

sql 語句獲取一列中的最大值使用MAX() 函數

一、MAX() 函數返回指定列的最大值。

二、SQL MAX() 語法:

SELECT MAX(column_name) FROM table_name;

三、參數解釋

column_name:列名

table_name:表名

(8)sql取得日期最大值擴展閱讀

最小值語句

MIN() 函數

MIN() 函數返回指定列的最小值。

SQL MIN() 語法

SELECT MIN(column_name) FROM table_name;

參考資料:網路-SQL MAX

『玖』 SQL 取最大日期

1、SYSDATE函數:該函數沒有參數,返回當前的系統時間。


『拾』 SQL查時間最大值

select dest_location_gid from order_movement where ORDER_MOVEMENT_GID=(select top 1 ORDER_MOVEMENT_GID from order_movement_status where status_value = '已入庫' order by INSERT_DATE desc)