我正在尝试将按 2 列查询的顺序压缩为按 1 列查询的顺序,并带有细分列。如果它有一个正确的名称,我将不胜感激知道它是什么!
例子:
ocean
name | type | colour
fishy | salmon | red
splishy | salmon | red
splashy | salmon | pink
sploshy | salmon | pink
floaty | whale | blue
humprhey | whale | grey
wilson | whale | grey
寻找(我不确定这样做是什么):
type | count | colour breakdown
salmon| 4 | 2 red, 2 pink
whale | 3 | 1 blue, 2 grey
优先使用最少的字符串函数。
不知道如何从:
(按一栏排序)
SELECT o.type, count(*)
FROM ocean o
GROUP BY `type`
type | count
salmon| 4
whale | 3
(按两列排序)
SELECT o.type, o.colour, count(*)
FROM ocean o
GROUP BY `type`, `colour`
type | colour | count
salmon| red | 2
salmon| pink | 2
whale | blue | 1
whale | grey | 2