《Mysql學習一段主被叫信息的mysql sql代碼解析》要點:
本文介紹了Mysql學習一段主被叫信息的mysql sql代碼解析,希望對您有用。如果有疑問,可以聯系我們。
導讀:本文分享的這段mysql代碼,個人覺得對于維護來說還是有必要了解,雖然有時更愿意select 保留成文件后再用awk處理.代碼:目標:按主叫取出...
本文分享的這段mysql代碼,個人覺得對于維護來說還是有必要了解,雖然有時更愿意select 保留成文件后再用awk處理.MYSQL實例
代碼:
目標:按主叫取出(相符要求)有一條以上錄音文件的記錄.
?MYSQL實例
select SUBSTR(callno,1,INSTR(callno,'#')-1) as callno, count(*) from record
where delflag =0 and begin_time < (now() - INTERVAL 10 DAY) and imported = 1
group by SUBSTR(callno ,1,INSTR(callno,'#')-1) having count(*) > 1;
幾個字段:
??? callno:主叫(手機/固話)#被叫??? --很無語主被叫不分開
??? delflag:錄音文件是否已被處理的標志,這是我后面寫的一個定期清除錄音文件腳本必要的一個字段.
??? imported:錄音文件是否被用戶下載過.MYSQL實例
解析:?
?MYSQL實例
SUBSTR(callno,1,INSTR(callno,'#')-1)???????????? #取callno字段1至第一個#之間的字符,因為主叫位數不定
begin_time < (now() - INTERVAL 10 DAY)?????????? #只處置10天之前的數據
group by SUBSTR(callno ,1,INSTR(callno,'#')-1)?? #按截取出的主叫group by
having count(*) > 1????????????????????????????? #取count(*)大于1條的記錄
如果要匯總有多少數據的話加個子查詢:
?MYSQL實例
select count(*) from (select SUBSTR(callno,1,INSTR(callno,'#')-1) as callno, count(*) from record
where delflag =0 and begin_time < (now() - INTERVAL 10 DAY) and imported = 1
group by SUBSTR(callno ,1,INSTR(callno,'#')-1) having count(*) > 1)a;
注意:得加個無用的別號.MYSQL實例
備注:雖然這段代碼很簡單,但運維過程中會經常用到,也許有人的辦法更簡單.MYSQL實例
接下業會介紹下,關于清除錄音文件的一個shell腳本:原理很簡單,就是依據record表處理所有的用戶的錄音文件(清除指定日期前的錄音文件(保留最后一條))
因為要保留用戶的最后一條記錄,所以沒方法用簡單清除腳本.MYSQL實例
附,清除灌音文件的腳本:
http://www.jbxue.com/article/13870.htmlMYSQL實例
維易PHP培訓學院每天發布《Mysql學習一段主被叫信息的mysql sql代碼解析》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/14338.html