sql常用方法
mysql获取某列年月日
1、获取当前时间:
SQL:SELECT NOW();
结果:2018-04-10 14:21:39
2、获取当前时间年份:
SQL:SELECT YEAR(NOW());
date_format(列明, '%Y')
结果:2018
(1)获取上一年
SQL:SELECT YEAR(NOW())-1;
结果:2017
获取其余年份,同上
3、获取当前时间年份及当前该年第几周
SQL:SELECT YEARWEEK(NOW());
结果:201814
代表当前日期是2018年第14周
4、获取当前时间月份
SQL:SELECT MONTH(NOW());
结果:4
5、获取当前时间月份英文名称
SQL:SELECT MONTHNAME(NOW());
结果:April
6、获取当前时间是该月的第几天
SQL:SELECT DAY(NOW());
结果:10
7、获取当前时间是周几
SQL:SELECT DAYNAME(NOW());
结果:Tuesday
8、获取当前时间是该年第几天
SQL:SELECT DAYOFYEAR(NOW());
结果:100
9、获取当前时间是该月的第几天
SQL:SELECT DAYOFMONTH(NOW());
结果:10
10、获取当前时间是该周第几天
SQL:SELECT DAYOFWEEK(NOW());
结果:3
默认周日为第一天
分组排序取前几个
select c.*
from
(
select a., if(@area=a.area_id, @rownum:=@rownum+1, @rownum:=1) as row_num, @area:=a.area_id from
(
(select fs1. from agri_screen_farm_spring fs1
left join agri_areas aa on aa.id = fs1.area_id
where aa.grade = 3 and aa.id like concat(#{areaId}, '%') and year(fs1.data_period) = #{year}
order by fs1.area_id, fs1.data_period desc) a,
(select @rownum:=0, @area:='') b
)
) c
where c.row_num = 1