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