今天来总结一下还有些不经常用的数据用法:
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用法一样