SQL中不会的高级用法

今天来总结一下还有些不经常用的数据用法:

top (): 用法 select top 5 * from table 前五行

like : select * from table where name like '%张%'

between : select * from table where (age between 1 and 20 ) and name not in ('%张%') 取出年龄在1到20的 并且不姓 张

datediff() : 返回两个日期之间的天数

is null : SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NULL               仅仅选取在“addres”列中带有null值的记录。

is not null : SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NOT NULL   仅仅选取在”address“中不带有null值的记录。

 

 

avg(name) 返回平均值      count () 返回行数     first() 返回第一个记录的值      last() 返回最后一个记录的值      max() 返回最大值          min() 返回最小值        sum() 返回总和

ucase() 将某个字段装换成大写       lcase() 将某个字段装换成小写          Substring (字段 ,1,end) —从某个文本字段提取字符          round(X) X为数字 四舍五入的整数       round(X,D) D为0就为整数,D为几就留几位数

 

 

having : 当where关键字无法与聚合函数一起使用,having 子句可以让我们筛选分组后各组数据。

 

 

 

postgresql中的聚合函数:
split_part 切割函数   select split_part('A,B,C,D,E',',',2)    结果:B

array_agg(expression)  把表达式变成一个数组 一般配合 array_to_string() 函数使用 例子: 去重和排序  select array_agg(distinct name order by  name desc )  from class
string_agg(expression ,delimiter)  直接把一个表达式变成字符串      String_agg( tkgpcp.customer_id ,',')

Mysql中的聚合函数:
group_concat() 将分组的结果拼接成字符串  和上面中的string_agg用法一样

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值