mysql
1、SQL获取日期的年份,月份
YEAR('2008-11-2 00:00:00') --年
MONTH('2008-11-2 00:00:00') --月
DAY('2008-11-2 00:00:00') --日
DATEPART ( datepart , date )
DATEPART(MM,'2008-11-2 00:00:00')
年份 yy、yyyy
季度 qq、q
月份 mm、m
每年的某一日 dy、y
日期 dd、d
星期 wk、ww
工作日 dw
小时 hh
分钟 mi、n
秒 ss、s
毫秒 ms
2、往数据表中新增字段
#2018/10/16 江鹏
alter table `jxkh_goal_mbzd` add (
`gqtm_return_opinion_qt` varchar(256) DEFAULT NULL COMMENT '监控单位退回意见'
)
3、建表需注意事项
4、group 和 count
如果单独使用group,不用count,会查询出第一条被分组的数据。
如果两者都用,会查询出每个分组中包含几条数据。
COUNT(*) 不管是否有NULL
COUNT(字段名) 忽略NULL
5、avg函数计算时,会忽略NULL值
SUM()
可以对单个列求和,也可以对多个列运算后求和
忽略NULL值,且当对多个列运算求和时,如果运算的列中任意一列的值为NULL,则忽略这行的记录。
例如: SUM(A+B+C),A、B、C 为三列,如果某行记录中A列值为NULL,则不统计这行。
6、mysql针对某一字段去重,并且保留其他字段
用group by, select * from table group by name
7、高级SQL
8、查某段区间内所有年份对应的waterlevel最大值
SELECT YEAR(time2) AS year2,MAX(waterlevel) AS waterlevel FROM datas GROUP BY YEAR(time2)
group by 是可以对复杂情况进行分组的