消息关闭
    暂无新消息!

sql groupby 得到数量的问题

问题作者 : Meehan2017-06-28发布


如图,我现在有3张表,tbh与toi是一对一的关系,toi与togi是一对多的关系。
现在我查询(现在的情况是toi的某一行对应了togi的2行)
直接select*得到的只有一行数据,但是
当我select count()得到的是2,这是怎么回事?怎么样写才能让count(或者别的列) 得到是1呢?

====================================
因为我除了行数还需要得到别的值,如果单单是行数的话,我可以先select * 然后到java里得到size,我现在是想一次性既得到别的值也想得到行数


2个回答

︿ 1

===============================正确答案==================================
这种可以先根据条件查询togi得出符合条件的结果,去重后得到toi的条件,然后才去查询toi与tbh

︿ 0

得到一行是因为你用了group by,count是聚合函数是计算行数,group by不使用聚合函数只取第一行数据