按时间 分组查询重复字段


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