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 是可以对复杂情况进行分组的

 

 

 

posted @ 2019-02-11 22:51  暹罗siam  阅读(161)  评论(0编辑  收藏  举报