mySQL常用查询语句

场景:查询每月,同一种物料的合格数

SELECT aa.source_name as name,aa.operate_date as months,SUM(aa.batch_num) as monthTotal,aa.results
FROM (
select (case a.source_name when '热塑POE' then 'POE' when 'POE' then 'POE' when 'EVA' then 'EVA' else '其他' end) as source_name,
  b.material_name,b.material_code,DATE_FORMAT(c.operate_date, '%m') AS operate_date,
  c.status,(case c.final_result when '0' then '合格' when '1' then '不合格' else '其他' end) results,d.batch_num
from mdm_material_attribute a 
  join mdm_material b on b.source_name_id = a.id and b.flag_deleted=0
  join qms_incoming_inspect c on c.material_code = b.material_code and c.flag_deleted=0
  left join qms_incoming_material d on d.serial_code = c.serial_code and d.flag_deleted=0
where (a.id = '4104584' or a.id in ('4104587','4104589'))
and a.flag_deleted=0
and c.status = 2
and YEAR(c.operate_date) = :year
) AS aa
GROUP BY name,months,aa.results

场景:本月每周

select source_name as name,weeks,results,sum(batch_num) as weekTotal from
(select (case a.source_name when '热塑POE' then 'POE' when 'POE' then 'POE' when 'EVA' then 'EVA' else '其他' end) as source_name,
  b.material_name,b.material_code,WEEK(c.operate_date, 1) -  WEEK(DATE_SUB(c.operate_date, INTERVAL DAYOFMONTH(c.operate_date) - 1 DAY),1)as weeks,
  DATE_FORMAT(c.operate_date, '%u') AS year_week,DATE_FORMAT(c.operate_date, '%Y-%m') AS mm,c.operate_date,
  c.status,(case c.final_result when '0' then '合格' when '1' then '不合格' else '其他' end) results,d.batch_num
from mdm_material_attribute a 
  join mdm_material b on b.source_name_id = a.id and b.flag_deleted=0
  join qms_incoming_inspect c on c.material_code = b.material_code and c.flag_deleted=0
  left join qms_incoming_material d on d.serial_code = c.serial_code and d.flag_deleted=0
where (a.id = '4104584' or a.id in ('4104587','4104589'))
and a.flag_deleted=0
and c.status = 2
and DATE_FORMAT(c.operate_date, '%Y-%m') = :month
and YEAR(c.operate_date) = :year
  ) as aa
group by weeks,name,results
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值