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,会查询出第一条被分组的数据。

如果两者都用,会查询出每个分组中包含几条数据。

avg函数计算时,会忽略NULL值

COUNT(*)  不管是否有NULL

COUNT(字段名) 忽略NULL

SUM()

可以对单个列求和,也可以对多个列运算后求和

忽略NULL值,且当对多个列运算求和时,如果运算的列中任意一列的值为NULL,则忽略这行的记录。

例如: SUM(A+B+C),A、B、C 为三列,如果某行记录中A列值为NULL,则不统计这行。

 

mysql针对某一字段去重,并且保留其他字段

用group by,   select * from table group by name

 

高级SQL

 

 

查某段区间内所有年份对应的waterlevel最大值

SELECT YEAR(time2) AS year2,MAX(waterlevel) AS waterlevel FROM datas
GROUP BY YEAR(time2)

group by 是可以对复杂情况进行分组的

猜你喜欢

转载自www.cnblogs.com/syjp/p/10363524.html