簡體   English   中英

MySQL選擇混合和最大年份

[英]MySql select Mix and Max year

嗨,大家好,我正在開發一個php和mysql應用程序。 我想從年份中選擇“最小值”和“最大值”。 它應該顯示正確的年份,如下所示:

Min = 1998
Max = 2014

我的表結構如下

表:學生

year varchar(32)    utf8_unicode_ci 
-------------------------------
06-04-2012
02-05-2014
19-04-1999
05-05-2014
06-04-1998

我嘗試使用MySql Min和Max,但效果不佳。

SELECT MIN(`year`) AS Year FROM `Students`

SELECT Max(`year`) AS Year FROM `Students`

請幫我解決這個問題。

您不應該將日期存儲為字符串。 您應該將它們存儲為日期。

但是,由於具有這種格式,因此可以使用right()函數獲取年份:

select min(right(year, 4)), max(right(year, 4))
from students;

如果由於某種不可思議的原因而必須將日期存儲為字符串,請使用ISO標准YYYY-MM-DD格式。

如果要將整個值中的最小值作為日期,則將其轉換為日期:

select min(str_to_date(year, '%d-%m-%Y')), max(str_to_date(year, '%d-%m-%Y'))
from students;

但是,首先應該使用正確的數據類型存儲日期。

使用YEAR()函數就像

SELECT MIN(YEAR(`year`)) AS Year FROM `Students`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM