如何在SQL中按列获取最大值

奥斯卡

大家好,大家好,我在这里问目前我正在尝试获得下表中预期的总量。总量将自动按数据列分组计算总量,直到数据更改为其他数据

以前的结果:

Id   Name      Data        
----------------------------
1    A       A_data_1          
2    A       A_data_2         
3    A       A_data_3          
4    B       B_data_1        
5    B       B_data_2           
6    C       C_data_1           

预期结果:

Id   Name      Data        Total Quantity
-----------------------------------------
1    A       A_data_1          null
2    A       A_data_2          null
3    A       A_data_3            3
4    B       B_data_1          null
5    B       B_data_2            2
6    C       C_data_1            1

我尝试使用 group by 但它似乎对我不起作用

厄格斯特·巴沙

对于预期的结果,您需要将左连接与子查询一起使用,以获得每个组的总数。

尝试:

   select test.id,test.name,test.`data`,total_count
   from test
   left join ( select max(id) as id ,name,count(name) as total_count
                from test 
                group by name  
              ) as t1 on t1.id=test.id;

https://www.db-fiddle.com/f/uLPPE1DoKjKYBoSXfKahJN/28

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章