代码之家  ›  专栏  ›  技术社区  ›  Mike Cialowicz

需要有关Hibernate/SQL查询计数逻辑的帮助吗

  •  2
  • Mike Cialowicz  · 技术社区  · 15 年前

    我有以下疑问:

    SELECT DISTINCT w.name, count(*) FROM widgets AS w
    JOIN w.entity AS e
    JOIN e.article AS a
    JOIN a.document AS d
    WHERE d.id IN (<document ids>)
    GROUP BY w.name
    

    问题是 count(*)

    举个例子:

    cat dog .
    我还有两个不同的小部件,它们有相同的名字, foo .
    每个 ,另一个是 ).
    两者 animals .
    我希望此查询返回的计数仅为1(因为小部件名称 在文章中只找到一次 动物

    我试过在count子句中添加其他内容,比如 count(d.id) ,没有运气。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mike Cialowicz    15 年前

    由于我在后端使用MSSQL,我可以这样做: count(DISTINCT a.id)