SQL多个组 - 有可能吗?

ein*_*zig 1 sql

我有这个表格的查询:

SELECT e.date, SUM(e.size) as bytes
FROM entries AS e
GROUP BY e.date
ORDER BY bytes DESC
Run Code Online (Sandbox Code Playgroud)

我有一个名为client的列,它由静态值(0,1,2,3)组成,所以我想得到这个:

SELECT e.date, SUM(e.size) as bytes
FROM entries AS e
WHERE e.client = 0
GROUP BY e.date
ORDER BY bytes DESC
Run Code Online (Sandbox Code Playgroud)

为每个客户端类型重复但在单个查询中为每个客户端类型获取汇总大小的结果:

   DATE    | CLI0-SIZE | CLI1-SIZE | CLI2-SIZE | CLI3-SIZE
2010-11-11      113         344         435         155
Run Code Online (Sandbox Code Playgroud)

bob*_*obs 7

你可以试试这个

SELECT e.date,
    SUM(CASE WHEN e.client = 0 THEN e.size ELSE 0 END) as CLI0-SIZE,
    SUM(CASE WHEN e.client = 1 THEN e.size ELSE 0 END) as CLI1-SIZE,
    SUM(CASE WHEN e.client = 2 THEN e.size ELSE 0 END) as CLI2-SIZE,
    SUM(CASE WHEN e.client = 3 THEN e.size ELSE 0 END) as CLI3-SIZE
FROM entries AS e
GROUP BY e.date
Run Code Online (Sandbox Code Playgroud)