我有类似于下面的数据库查询,当我在mySql中执行它时工作正常,但它在Junit中失败,错误"表达式不在聚合或GROUP BY列中:"。我的JUnit在内存中使用HSQL DB。我已经浏览了Strange behavior of HSQLDB and group by,并了解在查询中使用聚合方法时,我们需要为所有字段分组。
但我有一个要求,我需要根据只有一列(不是主键)的分组来获取所有值,你能否建议我如何在JUnit中实现这一点。
查询我正在执行的内容:
Select *, count(sampleField) from TestTable where sampleField2 != null group by sampleField
答案 0 :(得分:1)
您可以将min(column_name)或max(column_name)用于其他列。
例如,如果您有名为firstname
和lastname
Select min(firstname), min(lastname), count(sampleField) from TestTable where sampleField2 != null group by sampleField