1.(group by)如何让group by分组后,每组中的所有数据都显示出来

时间:2021-04-09 09:24:35

问题描述:表如下,如何让这个表按device_id这个字段分组,且组中的每条数据都查寻出来?(假如说这个表名为:devicedata)

1.(group by)如何让group by分组后,每组中的所有数据都显示出来

错误答案:select * from devicedata GROUP BY device_id

这个sql得到的结果是:

1.(group by)如何让group by分组后,每组中的所有数据都显示出来

每一组只显示了一条数据, 显然没达到我们的目的。

正确的结果:select * from devicedata GROUP BY device_id, id

查询到的结果:

1.(group by)如何让group by分组后,每组中的所有数据都显示出来

这样就达到了我们的目的了,将每组中的每条数据都查寻出来了。

解释一下这条sql: select * from devicedata GROUP BY device_id, id

这条sql就是,首先根据device_id这个字段来分组,因为这个表里面的id为1、3、4、5的记录 他们的device_id的值相同,所以就查询了这个组中的一条,然后在将1、3、4、5这四条记录按id分组,因为这四条记录的id都不同,所以每一条都查寻出来了。

所以有时候group by 多条件分组可以帮我们达到效果的哦。