基本上我有一些麻烦试图按类型对所有行进行分组,除了唯一被称为“test”的行,这个被忽略但是如果可能则分开显示,但我无法真正找到解决方案,提前谢谢!
SELECT *, SUM(amount) as 'amount' FROM history WHERE date = '$date' GROUP BY type
上面的查询是对所有行进行分组,包括我试图忽略的行
答案 0 :(得分:2)
您可以使用:
GROUP BY type, IF(type = "test", id, 0)
将id
替换为表格的主键。
当type为test
时,它将主键用作辅助分组字段,因此所有这些行都将位于不同的组中。对于所有其他类型,次要组对于所有项目都是相同的,因此他们不会获得子组。