日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Mysql 常用 SQL 語句大全

瀏覽:28日期:2023-10-16 15:18:21

基礎篇

//查詢時間,友好提示 $sql = 'select date_format(create_time, ’%Y-%m-%d’) as day from table_name';

//int 時間戳類型 $sql = 'select from_unixtime(create_time, ’%Y-%m-%d’) as day from table_name';

//一個sql返回多個總數 $sql = 'select count(*) all, ' ;$sql .= ' count(case when status = 1 then status end) status_1_num, ';$sql .= ' count(case when status = 2 then status end) status_2_num ';$sql .= ' from table_name';

//Update Join / Delete Join $sql = 'update table_name_1 ';$sql .= ' inner join table_name_2 on table_name_1.id = table_name_2.uid ';$sql .= ' inner join table_name_3 on table_name_3.id = table_name_1.tid ';$sql .= ' set *** = *** ';$sql .= ' where *** '; //delete join 同上。

//替換某字段的內容的語句 $sql = 'update table_name set content = REPLACE(content, ’aaa’, ’bbb’) ';$sql .= ' where (content like ’%aaa%’)';

//獲取表中某字段包含某字符串的數據 $sql = 'SELECT * FROM `表名` WHERE LOCATE(’關鍵字’, 字段名) ';

//獲取字段中的前4位 $sql = 'SELECT SUBSTRING(字段名,1,4) FROM 表名 ';

//查找表中多余的重復記錄 //單個字段 $sql = 'select * from 表名 where 字段名 in ';$sql .= '(select 字段名 from 表名 group by 字段名 having count(字段名) > 1 )'; //多個字段 $sql = 'select * from 表名 別名 where (別名.字段1,別名.字段2) in ';$sql .= '(select 字段1,字段2 from 表名 group by 字段1,字段2 having count(*) > 1 )';

//刪除表中多余的重復記錄(留id最小) //單個字段 $sql = 'delete from 表名 where 字段名 in ';$sql .= '(select 字段名 from 表名 group by 字段名 having count(字段名) > 1) ';$sql .= 'and 主鍵ID not in ';$sql .= '(select min(主鍵ID) from 表名 group by 字段名 having count(字段名 )>1) '; //多個字段 $sql = 'delete from 表名 別名 where (別名.字段1,別名.字段2) in ';$sql .= '(select 字段1,字段2 from 表名 group by 字段1,字段2 having count(*) > 1) ';$sql .= 'and 主鍵ID not in ';$sql .= '(select min(主鍵ID) from 表名 group by 字段1,字段2 having count(*)>1) ';

業務篇

連續范圍問題

//創建測試表 CREATE TABLE `test_number` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `number` int(11) unsigned NOT NULL DEFAULT ’0’ COMMENT ’數字’, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8

//創建測試數據 insert into test_number values(1,1);insert into test_number values(2,2);insert into test_number values(3,3);insert into test_number values(4,5);insert into test_number values(5,7);insert into test_number values(6,8);insert into test_number values(7,10);insert into test_number values(8,11);

實驗目標:求數字的連續范圍。

根據上面的數據,應該得到的范圍。

1-3 5-5 7-8 10-11

//執行Sql select min(number) start_range,max(number) end_range from ( select number,rn,number-rn diff from (select number,@number:=@number+1 rn from test_number,(select @number:=0) as number ) b) c group by diff;

Mysql 常用 SQL 語句大全

數字的連續范圍

簽到問題

//創建參考表(模擬數據需要用到) CREATE TABLE `test_nums` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’參考表’; //模擬數據,插入 1-10000 連續數據.

//創建測試表 CREATE TABLE `test_sign_history` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `uid` int(11) unsigned NOT NULL DEFAULT ’0’ COMMENT ’用戶ID’, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ’簽到時間’, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’簽到歷史表’;

//創建測試數據 insert into test_sign_history(uid,create_time)select ceil(rand()*10000),str_to_date(’2016-12-11’,’%Y-%m-%d’)+interval ceil(rand()*10000) minute from test_nums where id<31;

//統計每天的每小時用戶簽到情況 select h, sum(case when create_time=’2016-12-11’ then c else 0 end) 11Sign, sum(case when create_time=’2016-12-12’ then c else 0 end) 12Sign, sum(case when create_time=’2016-12-13’ then c else 0 end) 13Sign, sum(case when create_time=’2016-12-14’ then c else 0 end) 14Sign, sum(case when create_time=’2016-12-15’ then c else 0 end) 15Sign, sum(case when create_time=’2016-12-16’ then c else 0 end) 16Sign, sum(case when create_time=’2016-12-17’ then c else 0 end) 17Sign from ( selectdate_format(create_time,’%Y-%m-%d’) create_time,hour(create_time) h,count(*) c from test_sign_history group bydate_format(create_time,’%Y-%m-%d’),hour(create_time)) agroup by h with rollup;

Mysql 常用 SQL 語句大全

統計每天的每小時用戶簽到情況

//統計每天的每小時用戶簽到情況(當某個小時沒有數據時,顯示0) select h , sum(case when create_time=’2016-12-11’ then c else 0 end) 11Sign, sum(case when create_time=’2016-12-12’ then c else 0 end) 12Sign, sum(case when create_time=’2016-12-13’ then c else 0 end) 13Sign, sum(case when create_time=’2016-12-14’ then c else 0 end) 14Sign, sum(case when create_time=’2016-12-15’ then c else 0 end) 15Sign, sum(case when create_time=’2016-12-16’ then c else 0 end) 16Sign, sum(case when create_time=’2016-12-17’ then c else 0 end) 17Sign from ( select b.h h,c.create_time,c.c from (select id-1 h from test_nums where id<=24 ) b left join (select date_format(create_time,’%Y-%m-%d’) create_time, hour(create_time) h, count(*) c from test_sign_historygroup by date_format(create_time,’%Y-%m-%d’), hour(create_time) ) c on (b.h=c.h)) agroup by h with rollup;Mysql 常用 SQL 語句大全統計每天的每小時用戶簽到情況(當某個小時沒有數據時,顯示0)

//統計每天的用戶簽到數據和每天的增量數據 selecttype,sum(case when create_time=’2016-12-11’ then c else 0 end) 11Sign,sum(case when create_time=’2016-12-12’ then c else 0 end) 12Sign,sum(case when create_time=’2016-12-13’ then c else 0 end) 13Sign,sum(case when create_time=’2016-12-14’ then c else 0 end) 14Sign,sum(case when create_time=’2016-12-15’ then c else 0 end) 15Sign,sum(case when create_time=’2016-12-16’ then c else 0 end) 16Sign,sum(case when create_time=’2016-12-17’ then c else 0 end) 17Sign from (select b.create_time,ifnull(b.c-c.c,0) c,’Increment’ type from ( select date_format(create_time,’%Y-%m-%d’) create_time, count(*) c from test_sign_history group by date_format(create_time,’%Y-%m-%d’)) bleft join( select date_format(create_time,’%Y-%m-%d’) create_time, count(*) c from test_sign_history group by date_format(create_time,’%Y-%m-%d’)) c on(b.create_time=c.create_time+ interval 1 day) union allselect date_format(create_time,’%Y-%m-%d’) create_time, count(*) c, ’Current’ from test_sign_historygroup by date_format(create_time,’%Y-%m-%d’)) agroup by typeorder by case when type=’Current’ then 1 else 0 end desc;Mysql 常用 SQL 語句大全統計每天的用戶簽到數據和每天的增量數據

//模擬不同的用戶簽到了不同的天數 insert into test_sign_history(uid,create_time)select uid,create_time + interval ceil(rand()*10) day from test_sign_history,test_numswhere test_nums.id <10 order by rand() limit 150;

//統計簽到天數相同的用戶數量 select sum(case when day=1 then cn else 0 end) 1Day, sum(case when day=2 then cn else 0 end) 2Day, sum(case when day=3 then cn else 0 end) 3Day, sum(case when day=4 then cn else 0 end) 4Day, sum(case when day=5 then cn else 0 end) 5Day, sum(case when day=6 then cn else 0 end) 6Day, sum(case when day=7 then cn else 0 end) 7Day, sum(case when day=8 then cn else 0 end) 8Day, sum(case when day=9 then cn else 0 end) 9Day, sum(case when day=10 then cn else 0 end) 10Day from ( select c day,count(*) cn from (select uid,count(*) c from test_sign_history group by uid ) a group by c) b;Mysql 常用 SQL 語句大全統計簽到天數相同的用戶數量

//統計每個用戶的連續簽到時間 select * from ( select d.*, @ggid := @cggid, @cggid := d.uid, if(@ggid = @cggid, @grank := @grank + 1, @grank := 1) grank from (select uid,min(c.create_time) begin_date ,max(c.create_time) end_date,count(*) count from ( select b.*, @gid := @cgid, @cgid := b.uid, if(@gid = @cgid, @rank := @rank + 1, @rank := 1) rank, b.diff-@rank flag from (selectdistinctuid,date_format(create_time,’%Y-%m-%d’) create_time,datediff(create_time,now()) diff from test_sign_history order by uid,create_time ) b, (SELECT @gid := 1, @cgid := 1, @rank := 1) as a) c group by uid,flagorder by uid,count(*) desc ) d,(SELECT @ggid := 1, @cggid := 1, @grank := 1) as e)fwhere grank=1;Mysql 常用 SQL 語句大全統計每個用戶的連續簽到時間

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲无线观看| 欧美片第1页| 日韩高清电影免费| 欧美a级一区二区| 不卡视频在线| 亚洲91在线| 精品一区在线| 福利在线免费视频| 亚洲精品三级| 99久久夜色精品国产亚洲1000部| 中文字幕日韩高清在线| 国产粉嫩在线观看| 国产精品色婷婷在线观看| 黄色国产精品| 欧美羞羞视频| 国产精品mm| 亚州欧美在线| 亚洲欧洲一区| 欧美日韩精品免费观看视欧美高清免费大片 | 97精品国产一区二区三区| 中文字幕成人| 六月天综合网| 99国产成+人+综合+亚洲欧美| 9999国产精品| 国产一区二区三区黄网站| 日韩美女精品| 亚洲精品美女91| 亚洲视频二区| 中文一区一区三区免费在线观 | 日韩av网站免费在线| 国产一区二区高清| 不卡在线一区| 99国产精品私拍| 9色国产精品| 伊人精品视频| 中文欧美日韩| 蜜桃久久av一区| 日本不卡中文字幕| 欧美日韩99| 国产伦精品一区二区三区视频 | 日韩精品电影| 日本精品不卡| 麻豆精品蜜桃| 亚洲一级网站| 日本欧美在线看| 亚洲精品自拍| 久久不见久久见国语| 精品三区视频| 欧美日韩激情| 久久国产三级精品| 美女视频黄免费的久久| 亚洲国产欧美日本视频| 欧美精品一区二区久久| 亚洲免费影院| 欧美精品97| av一区二区高清| 97久久超碰| 麻豆国产精品一区二区三区| 日韩成人亚洲| 亚洲精品三级| 日本不良网站在线观看| 亚洲免费网址| 久久夜色精品| 亚洲免费毛片| 国产福利一区二区三区在线播放| 亚洲精选av| 欧美另类中文字幕| 欧美精品aa| 欧美激情另类| 红桃视频欧美| 日本午夜精品久久久| 国产精品mv在线观看| 成人在线超碰| 亚洲h色精品| 香蕉成人久久| 国产亚洲字幕| 国产伦精品一区二区三区千人斩| 五月精品视频| 日本欧美国产| 欧美一级全黄| 欧美日韩国产高清| 成人国产精品一区二区免费麻豆| 亚洲久久视频| av一区二区高清| 久久久蜜桃一区二区人| 久久久免费人体| 久久精品99国产精品日本| 国产精品毛片| jiujiure精品视频播放| 日韩精品91| 久久91导航| 国产拍在线视频| 美女精品视频在线| 国产精品www.| 国产精品蜜月aⅴ在线| 自拍日韩欧美| 欧美1级日本1级| 国内精品福利| 欧美性感美女一区二区| 久久uomeier| 日韩在线欧美| 久久精品播放| 婷婷精品进入| 免费的成人av| 亚洲影院天堂中文av色| 蜜桃一区二区三区在线| 亚洲精品美女91| 97久久亚洲| 久久影院资源站| 国产亚洲一区二区手机在线观看| 电影91久久久| 久久精品123| 伊人精品视频| 亚洲精品一区二区在线播放∴| 亚洲午夜免费| 国产精品中文字幕亚洲欧美| 老鸭窝一区二区久久精品| 成人亚洲欧美| 在线综合视频| 国产欧美丝祙| 久久久久国产精品一区三寸| 国产亚洲在线| 美女久久精品| 欧美美女一区| 国产精品丝袜在线播放| 9999国产精品| 国产亚洲午夜| 国产精品久久久免费| 久久久成人网| 欧美亚洲一级| 久久久久久久久丰满| 青草av.久久免费一区| 成人自拍av| 国产香蕉精品| 在线日韩视频| 国产精品日韩精品在线播放| 99精品综合| 青草av.久久免费一区| 91精品国产调教在线观看| 亚洲精品护士| 中文字幕高清在线播放| 99亚洲视频| 久久精品高清| 蜜臀精品一区二区三区在线观看| 一区二区精品| 麻豆成人av在线| 婷婷综合激情| 久久国产精品色av免费看| 精品72久久久久中文字幕| 久久九九99| 婷婷国产精品| а√天堂8资源中文在线| 日本中文字幕视频一区| 久久精品国产大片免费观看| 欧美成人精品午夜一区二区| 亚洲毛片在线免费| 日韩在线观看| 成人一二三区| 精品一区二区三区的国产在线观看| 夜夜精品视频| 91久久久久| 美女网站一区| 日韩在线欧美| 亚洲人成在线网站| 日本久久综合| 国产+成+人+亚洲欧洲在线| 国产日韩1区| 久久国际精品| 国产毛片精品| 久久久国产精品网站| 国产精品一站二站| 视频一区日韩精品| 亚洲免费观看高清完整版在线观| 亚洲欧美视频| 男人操女人的视频在线观看欧美| 亚洲自拍另类| 日韩激情精品| 国产欧美日韩一区二区三区四区| 青青青国产精品| 国产精品主播在线观看| 国产极品一区| 国产精品精品| 亚洲精品一区三区三区在线观看| 色在线视频观看| 米奇777超碰欧美日韩亚洲| 欧美日韩日本国产亚洲在线 | 午夜免费一区| 人人精品人人爱| 青青草国产精品亚洲专区无| 国产欧美日韩在线观看视频| 国产精久久一区二区| 日韩国产专区| 蜜桃传媒麻豆第一区在线观看| 日韩av在线播放中文字幕| 精品一区二区三区亚洲| 久久影视一区| 亚洲91网站| 红杏一区二区三区| 一区二区三区四区在线看| 亚洲精一区二区三区|