[英]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.