用group by分组查询自动把组内相同的去重了,怎么样让它不去重
group by d.id,d.detetime
SELECT
DATE_FORMAT(d.detetime,'%Y-%M') AS byMonth,
SUM(d.detenum) detenum,
COUNT(
CASE
WHEN d.judger IN ('合格') THEN
'合格'
END
) qualified,
COUNT(
CASE
WHEN d.judger IN ('不合格') THEN
'不合格'
END
) disqualification
FROM
mk_detection_info d
GROUP BY d.detetime
你是想在每条记录上多显示四列吧?
SELECT t1.*, t2.* FROM (
SELECT
d.detetime AS datetime,
DATE_FORMAT(d.detetime,'%Y-%M') AS byMonth,
SUM(d.detenum) detenum,
SUM( CASE WHEN d.judger IN ('合格') THEN 1 ELSE 0 END ) qualified,
SUM( CASE WHEN d.judger IN ('不合格') THEN 1 ELSE 0 END ) disqualification
FROM mk_detection_info d GROUP BY d.detetime ) AS t1
, mk_detection_info t2 WHERE t1.datetime = t2.datetime
order by 一个字段就好了