首頁  >  問答  >  主體

java - sql groupby 得到數量的問題


如圖,我現在有3張表,tbh與toi是一對一的關係,toi與togi是一對多的關係。
現在我查詢(現在的情況是toi的某一行對應了togi的2行)
直接select*得到的只有一行數據,但是
當我select count()得到的是2,這是怎麼回事?怎麼樣寫才能讓count(或別的列) 得到是1呢?

====================================
因為我除了行數還需要得到別的值,如果單單是行數的話,我可以先select * 然後到java裡得到size,我現在是想一次性既得到別的值也想得到行數

滿天的星座滿天的星座2669 天前865

全部回覆(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
  • 取消回覆