zhangjingyu
楼上数据表截图来自本地测试论坛,下面来看测试数据。
群组(cyid=2)的相册aid是14,数据表中记录的照片数为14(实际上只有9张)。统计数是多少呢?“共1本相册 37 张照片”为什么是37张而不是14张呢?我们来看查询条件,是所有ownerid=2的照片数量(photonum)总和。也就是说,还包括aid为6和11的原本只是相册里面的相册照片数,所以14+19+4正好等于37。是不是很意外?!
再来看群组(cyid=1)的相册aid是13,数据表中记录的照片数为29(这个数据其实最初也不准确,后来修改了数据)。统计数是多少呢?“共1本相册 77 张照片”,29再加上本来就不属于它的28、19、1,正好是77。巧合了吧?!
所以,原因在哪?查询条件不对!应该加上条件“and atype='1'”,也就是只统计属于群组的相册照片数量。