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

posted @ 2022-11-24 11:21  道之缘  阅读(44)  评论(0编辑  收藏  举报