MySQL常用语法

1. 字符串转换成int 

cast(str_a as signed)

2.字符串转换成小数 

convert(str_a, decimal(15,1))

3.中位数计算方法:

select 
    "中位数" name,
    max(case when ID=((@ID+1) div 2) then duration else 0 end) result 
from 
(
select  @ID:=@ID+1 AS ID, duration
from test a, (SELECT @ID:=0) as b
order by duration asc
) as t

20 、80分位数等都可以用上面的方法

4. Mysql正则简单用法

-- mysql 如何判断"字符串"是否是"纯数值"
select ('123a' REGEXP '[^0-9.]'); --‘123a'中含有字符 输出结果为false

-- mysql 以'ok'为结尾
name REGEXP 'ok$'

-- mysql 以1-9开头或者以ok结尾
name REGEXP '^[1-9]|ok$'

5. 生成自增长列(与3类似)

select
         (@i:=@i+1) id,    -- 生成的自增长id
	 area_code,
	 area_name
from 
(
   select area_code, area_name
   from test_table
) s, (select @i:=0)t 
order by area_code asc    -- 自增长列的排序字段, 根据code升序

6. update & join

update result_table a
join
(
   select
         id,
	 area_code,
	 area_name
   from test_table
) b on a.id=b.id
set a.area_name=b.area_name,
     a.area_code=b.area_code
;

  

  

原文地址:https://www.cnblogs.com/skyEva/p/11746256.html