在JUNIT中通过DB查询执行组

时间:2017-08-09 16:03:17

标签: java mysql unit-testing junit hsqldb

我有类似于下面的数据库查询,当我在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

1 个答案:

答案 0 :(得分:1)

您可以将min(column_name)或max(column_name)用于其他列。

例如,如果您有名为firstnamelastname

的列
Select min(firstname), min(lastname), count(sampleField) from TestTable where sampleField2 != null group by sampleField