写个group by字句费劲了。
记住一点有过有单行函数,你需要去什么数据就必须 group by 什么字段。
先看看错误的写法:
原sql:
select e.name,z.* ,l.lbtitle from t_g_e e, t_mez z,t_ez l
where e.id = z.examid and l.lbcode = z.examlbcode and e.id = ? ORDER BY z.id
执行结果如下:
后来 因为要加个统计数量: 统计就要用到count() ,单行函数就要分组。死活弄不出来。正确的做法是,如果你需要count并其它字段,group by 的时候,把需要的都group by上
select e.name,z.examlbcode ,z.id,l.lbtitle,e.id,count(z.examlbcode)
from t_g_e e, tp_mez z,tp_ez l,e__kc k
where e.id = z.examid and l.lbcode = z.examlbcode and z.examlbcode = k.zklb and e.id = '511'
group by z.examlbcode,l.lbtitle,z.id,e.name,e.id
我写给自己看的,你们看不懂正常。