按时间 分组查询重复字段
SET @maxtime = '2017-12-15';
SET @mintime = '2017-12-01';
SELECT
a.player_id,
COUNT(a.player_id)
FROM
log_login a
WHERE
1 = 1
AND DATE_FORMAT(a.create_time, '%Y-%m-%d') <=@maxtime
AND DATE_FORMAT(a.create_time, '%Y-%m-%d') >=@mintime
GROUP BY
a.player_id
HAVING
count(a.player_id) > 1
ORDER BY
COUNT(a.player_id) DESC;
HAVING 查询重复次数的 例如 查询 重复1次 2次的数据
GROUP BY 分组
ORDER BY 排序
JOIN 链接查询
DATE_FORMAT(a.create_time, ‘%Y-%m-%d’) 时间转换为指定格式
COUNT(DISTINCT l.id) 去掉重复id 并计数
date_sub(‘2017-07-12’, INTERVAL - 3 DAY) 2017-07-12加三天 事例 2017-07-15
CONVERT (6 /10,DECIMAL (10, 2)) 保留两位小数
自动获取时间 减去1个月 格式为yyyy-mm
SET @dt=NOW();
SET @dt=date_add(@dt, interval -1 month);
SET @mm = DATE_FORMAT(@dt, ‘%Y-%m’);
数据库建表简记
drop table if exists table
;(有这个表就删除)
CREATE TABLE table
(id
int(11) NOT NULL AUTO_INCREMENT,name
VARCHAR(10) NOT NULL,type
ENUM(‘y’,‘n’) NOT NULL COMMENT ‘y,n’,create_time
datetime DEFAULT NULL,
PRIMARY KEY (id
),
UNIQUE (type),UNIQUE (type,name),UNIQUE (name),
FOREIGN KEY (player_hero_id) REFERENCES player_hero(id)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT ‘表’;
PRIMARY KEY 主键,
FOREIGN KEY 主键(字段名) REFERENCES 外键 表名(字段名),
UNIQUE 唯一索引,
UNIQUE (type,name) 联合唯一索引,
AUTO_INCREMENT=1000 id从1000开始,
ENUM(‘y’,‘n’) 枚举
SET FOREIGN_KEY_CHECKS=0; 停止约束
SET FOREIGN_KEY_CHECKS=1; 启动约束
SELECT STRCMP(“1”,“2”);#-1 大于
SELECT STRCMP(“1”,“1”);#0 等于
SELECT STRCMP(“2”,“1”);#1 小于
SELECT IF (1=2,1,2);#1=1 1,1=2 2
SELECT concat(“a”,“b”,“c”);#abc
mysql5.7修改密码
my.cnf
[mysqld]
# skip-grant-tables=1 #无需密码
# skip-grant-tables=0 #需密码
重启mysql
service mysqld restart;
输入:mysql -u root -p
密码为空,直接回车
接着输入以下命令:
use mysql;
#设置密码
update mysql.user set authentication_string=PASSWORD(‘你的new pwd’) where user=‘root’;
flush privileges;#重载授权表
#设置host
update user set host = ‘%’ where user = ‘root’;
flush privileges;#重载授权表
#设置密码永不过期
update user set password_expired=‘N’ where user=‘root’;
flush privileges;#重载授权表
#全部授权
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘你的pwd’ WITH GRANT OPTION;
flush privileges;#重载授权表
#查看root授权
show grants for root;
#查看所有用户信息
select * from mysql.user;
退出mysql数据库:
exit