首页  >  问答  >  正文

java - sql groupby 得到数量的问题


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

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

滿天的星座滿天的星座2670 天前874

全部回复(2)我来回复

  • 学习ing

    学习ing2017-06-28 09:24:37

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

    回复
    0
  • 某草草

    某草草2017-06-28 09:24:37

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

    回复
    0
  • 取消回复