原创 EXCEL 分組取前十的數據

Excel 中需要處理一個分組的數據,並取出每組數據前10的數據,可以如下處理。 首先將數據按分組排序,數據-排序-添加條件,主要關鍵字填寫分組,次序爲降序即可。 然後在數值一列後添加 判斷語句‘=IF(A2=A1,D1+1,1)’ 即可

原创 excel 計算複合增長率

複合增長率的公bai式爲: A1  初始值 B1 最終值 C1  年限 =EXP(LN(B1/A1)/C1)-1 =(B1/A1)^(1/C1)-1  

原创 msyql 計算中位數

MySQL 不像Excel 有mid()函數直接計算中位數,需要用函數來實現具體如下: 首先建立數據表 create table student ( id varchar(32) primary key, value int );

原创 mysql 按照年齡段分組計數

最近在統計人羣特徵數據時,需要將用戶年齡分組來計數,mysql 裏的  case when  可以直接實現的  具體sql語句如下 SELECT age, count( * ) AS cnt FROM ( SELECT CA

原创 notepad++ 怎麼查看和替換換行符

最近在做短詞彙命中時,經常會發現命不中的情況,最後發現是換行符在搗鬼,因此需要用notepad++來查看和替換換行符; 查看換行符 在視圖-顯示符號-顯示所有字符裏,選中即可查看 這裏的CR LF既是換行符   此時如果想要替換換行符

原创 MySQL 去除字段中的換行和回車符和空格

解決方法:           UPDATE tablename SET field = REPLACE(REPLACE(field, CHAR(10), ''), CHAR(13), '');           char(10): 

原创 mysql分組排名sql語句

建表 CREATE TABLE t_rank_update ( pid INT(4) PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, age INT(3), rank INT

原创 mysql sum() NULL 問題

今天在客戶反饋線上數據出現了異常,如下圖所示,正常值應該是百分百以內的,而且這個數值是隨機出現的,刷新幾下可能出現一次。   然後和後端在檢查了數據後,發現了select  sum()  數據會隨機出現不同的結果,而且是多次刷新後會出現

原创 MySql 錯誤提示 -out of range value for column

問題:之前有一組數據的id是三位數的,原類型爲 smallint(5),想着就是三位數的,換乘tinyint(3)格式的,節省些空間,結果就是一直報錯:out of range value for column at row 58, 仔細

原创 MySQL修改表一次添加多個列(字段)和索引

MySQL修改表一次添加多個列(字段) ALTER TABLE table_name ADD func varchar(50), ADD gene varchar(50), ADD genedetail varchar(50); 而索引

原创 關於先插入數據在維護索引 還是先加索引再插入數據

近期在更新數據庫時,經常會遇到一個問題,先插入數據在加索引,還是先加索引再插入數據 以下通過測試了幾次得到如下結果如圖: 這個表大概是200多萬行,加了兩個組合索引,最終數據長度是190MB,索引長度是6MB,msyql8.0版本。 結

原创 mysql8.0版本 sum() NULL group by問題

昨天專門找了很多資料,想解決sum() 結果中帶有null的問題,但昨晚最後一些列的測試發現另外的問題; 表結構如下所示,id是int類型,name是varchar類型的,pct是float類型的 SELECT `name`,sum(

原创 mysql GROUP_CONCAT給每個值加上單引號後再拼接

經常使用group_concat拼接數值,但有一些中文在拼接時添加單引號會比較好, 該怎麼操作呢?  可以使用如下語句,在字段前添加四個單引號和逗號,並在字段後也添加一個引號和四個單引號 SELECT Group_concat(''''

原创 MySQL AVG()異常NULL值

mysql 在計算avg() 時 會自動將null值過濾掉不參與計算, 因爲NULL與數字不同0。 從概念上講,它NULL意味着“缺失的未知值”,並且與其他值的處理方式略有不同。這就是像ignore s 這樣的聚合函數。AVG()NULL

原创 mysql 取分組數據的前幾名(1)

目前有需求需要取分組數據的前幾名,有如下的解決方案來實現 具體數據庫如下 SQL寫法: SELECT * FROM student_grade AS a WHERE ( SELECT coun ( * ) FROM stud