这是我的简短片段:
select * from tbl_test
我想做的是:
1.
select g_size, sum(g_num)
from tbl_test
group by g_size
2.
select m_size, sum(m_num)
from tbl_test
group by m_size
这是我的问题,如何将所有这些东西推送到一个 sql 字符串中? 可以这样做吗?
最佳答案
如果你想要单行用于 eigher 单个 g_size 或 m_size 那么你不能在单个 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;
然后您将获得 2 行 g_size=5,如下所示-
g_size= 5, sum(g_num)=5, m_size=1, sum(m_num)=30 和 g_size= 5, sum(g_num)=1, m_size=2, sum(m_num)=1
此外,您可以使用汇总功能,该功能将首先提供小计(m_size 明智),然后是总计(g_size 明智),最后提供总计(所有 m_size 总计)。
关于mysql - 如何在单个 sql 中对两个单元格进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32733308/