#增加自增長主鍵 alter table table_name add COLUMN id bigint not NULL primary key auto_increment;
#去表內的空格和換行符號 UPDATE table_name SET id_type = REPLACE(REPLACE(id_type,char(10), ''), char(13), '');
#去除重複數據 DELETE FROM view_data.trend_interaction_detail WHERE id NOT IN ( SELECT temp.min_id FROM ( SELECT MIN(id) min_id FROM view_data.trend_interaction_detail GROUP BY interaction_content,interaction_type,artist_name,platform_name,date_format(generate_timestamp,'%Y %m %d') )AS temp );
##查找月份 select * from table_name where 表示月份時間的字段=date_format(date_add(curdate(),interval -1 month),'%Y %m');
###每月最大一天 select * from table_name where 月份 in (select max(時間) from table_name as b group by X, X) group by X, X;### 根據時間分組,找到最大時間,再去匹配最大時間對應的數據
#兩個字段進行匹配查找
select * from XXX as b, XXX as a where b.XXX like CONCAT('%', a.name, '%') group by b.hot_select_detail;
#獲取指定月份的數據 SELECT * FROM 表名 WHERE DATE_FORMAT( 時間字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ); #修改字段名 ALTER TABLE 表名 CHANGE 舊字段名 新字段名 新數據類型; #修改字段類型 ALTER TABLE 表名 MODIFY COLUMN 字段名 新數據類型 新類型長度 新默認值 新註釋;
#更新字段中部分內容 UPDATE center_data_report.trend_word_cloud SET `pic_url` = replace(`pic_url`, '/20191104/', '/dy/20191104/') WHERE `pic_url` LIKE '%%/20191104/%%' and platform_name ='抖音' and create_times = '2019-11-04';
#分組查找top X數據 select artist_third_id,wy_artist_name,wy_song_id,wy_song_name,wy_song_album,wy_song_album_id from temp_wy_song_list a where exists(select count(*) from temp_wy_song_list where wy_artist_name = a.wy_artist_name and wy_comment_count > a.wy_comment_count having Count(*) < 10 ) order by a.wy_artist_name; 查找每個小組裏面最大的是個分組
#某段範圍內的某數據的最大值 select a.* from test a, (select type,max(typeindex) typeindex from test group by type) b where a.type = b.type and a.typeindex = b.typeindex order by a.type;
#多表連接 select s.Name,C.Cname from student_course as sc left join student as s on s.Sno=sc.Sno left join course as c on c.Cno=sc.Cno
#一行變多行 select chart_date, chart_name_id, chart_name, a.`rank`, track_third_id, platform_track_name, substring_index(substring_index(a.artist_third_id, ',', b.AutoIncreID + 1), ',', -1) as artist_thrid_id, substring_index(substring_index(a.platform_artist_name, ',', b.AutoIncreID + 1), ',', -1) as platform_artist_name, import_timestamp, spider_time, chart_distinction, platform_name_id, platform_name from raw_chart_data.raw_chart_detail a join raw_chart_data.incre_table b on b.AutoIncreID < (length(a.artist_third_id) - length(replace(a.artist_third_id, ',', '')) + 1) limit 1000;
#添加自增id #臨時字段設置字段類型 #CONVERT(@rowNO := @rowNO + 1,SIGNED) AS rowno select CONVERT(@rowNO := @rowNO + 1,SIGNED) AS rowno,a.* from (SELECT '抖音' as platform, count(heat_name) as r, b.heat_name as r_detail, b.`heat_rank` as r_rank, max(date(b.spider_time))as date_spider, @rownum := @rownum +1 as id from raw_trend_data.douyin_hot_spot as b where spider_time > date_add(date(now()), interval -1 month) AND spider_time <= date_add(date(now()), interval 0 month) group by b.heat_name order by r desc limit 20)a, (select @rowNO :=0) b;