sql有很强大的统计功能,我们用的越多,体会就会越深。
sql中,time可以拼成:
SET var_current_time = CONCAT(CURDATE(),' ',CURTIME());
等价于:
SET var_current_time = current_timestramp();
count函数的使用,我们使用count很普遍,已经忘记了count是一个函数,作用于每个变量上,但是只有返回非null和非0时才统计,结合case when非常好用。
SELECT mtr.WF_FARM_SHE_ID wfFarmSheId, mtr.code, mtr.CONTENT, wf.NAME wfFarmName, COUNT(mtr.WF_FARM_SHE_ID) total, COUNT(case when mtr.STATUS='已完成' then '已完成' else null end) finishNum, COUNT(case when mtr.STATUS='已完成' then '已完成' else null END) / COUNT(mtr.WF_FARM_SHE_ID) rate FROM mm_technical_renovation mtr LEFT JOIN wf_farm wf ON wf.SHE_ID = mtr.WF_FARM_SHE_ID WHERE mtr.code ="02882808"
在这里,distinct相当于一个操作符。
SELECT count(distinct name) FROM iam.product p;