Mysql 如何在一个sql中使用两个CEL进行分组

Mysql 如何在一个sql中使用两个CEL进行分组,mysql,sql,Mysql,Sql,以下是我简短的窃笑: select * from tbl_test 我想做的是: 一, 二, 我的问题是,如何将所有这些内容推送到一个sql字符串中? 可以这样做吗?只需通过以下方式添加列和组: select g_size, sum(g_num),m_size, sum(m_num) from tbl_test group by g_size, m_size; 只需通过以下方式添加列和组: select g_size, sum(g_num),m_size, sum(m_num) from

以下是我简短的窃笑:

select * from tbl_test

我想做的是:

一,

二,

我的问题是,如何将所有这些内容推送到一个sql字符串中?
可以这样做吗?

只需通过以下方式添加列和组:

select g_size, sum(g_num),m_size, sum(m_num) from tbl_test group by g_size, m_size;

只需通过以下方式添加列和组:

select g_size, sum(g_num),m_size, sum(m_num) from tbl_test group by g_size, m_size;

如果您希望为八个单独的g_大小或m_大小设置单行,则不能在单个sql中设置,但如果您认为第一个group by字段可以有多行,则可以设置-

例如,如果您还有一行g_size=5、g_num=1、m_size=2、m_num=1,则使用下面的查询-

select g_size, sum(g_num),m_size, sum(m_num) 
from mytable 
group by g_size,by m_size;
然后,对于g_size=5,您将得到2行,如下所示-

g_size=5,总和(g_num)=5,m_size=1,总和(m_num)=30 和 g_size=5,总和(g_num)=1,m_size=2,总和(m_num)=1


此外,您还可以使用rollup函数,该函数将首先提供小计(m_大小),然后提供总计(g_大小),最后提供总计(所有m_大小总计)。

如果您希望为八个单独的g_大小或m_大小设置单行,则无法在单个sql中执行,但如果您认为第一组字段可以有多行,那么您可以这样做-

例如,如果您还有一行g_size=5、g_num=1、m_size=2、m_num=1,则使用下面的查询-

select g_size, sum(g_num),m_size, sum(m_num) 
from mytable 
group by g_size,by m_size;
然后,对于g_size=5,您将得到2行,如下所示-

g_size=5,总和(g_num)=5,m_size=1,总和(m_num)=30 和 g_size=5,总和(g_num)=1,m_size=2,总和(m_num)=1

此外,您还可以使用汇总功能,该功能将首先提供小计(m_尺寸),然后提供总计(g_尺寸),最后提供总计(所有m_尺寸总计)