if函数
if else的效果;用法:if(判断条件,条件为真执行部分,条件为假执行部分)
case函数
使用一、switch case效果如:
case 要判断的字段或者表达式
when 常量1 then 要显示的值1或语句
when 常量2 then 要显示的值2或语句
else 默认情况;
end(结尾表示case完了,和matlab一样的)
使用二、类似多重if如:
case
when 条件1 then 要显是的值1等
else 要显示的值或者语句
end
统计函数
sum(需要操作的东东) 求和;处理数字类型,忽略null
avg(需要操作的东东) 平均值;处理数字类型,忽略null
max(需要操作的东东) 最大值;任何类型,忽略null
min(需要操作的东东) 最小值;任何类型,忽略null
count(需要操作的东东) 计算个数;任何类型,忽略null
与distinct搭配去除重复计算,只算一次
count()函数
count(*)返回行数=count(1)=count('字段');统计行数作用
效率分析:在myisam存储引擎下,count(*)效率高;在innodb存储
引擎下,count(*)和count(1)的效果差不多,比count('字段')高一些
datediff(‘日期1’,‘日期2’)
返回日期1-2的时间差
分组前查询
语法:select 分组函数,列(要求出现在group by的后面)
from 表
where 筛选条件
group by 分组的列表
order by 子句
例如:SELECT MAX(salary),job_id
FROM employees
GROUP BY job_id;
分组后查询
语法:
select 分组函数,列
from 表
group by 分组的列表
order by 子句
having count(*)条件
例如:SELECT COUNT(*),department_id
FROM employees
GROUP BY department_id
HAVING COUNT(*)>2;
|