关于 Postgresql 选择的一个问题。这可以正常工作:
SELECT
name,SUM(cash)
FROM
costumers
GROUP BY (name)
但是如何在 GROUP BY 子句中连接两个(或更多)字段?这是我尝试过的:
SELECT
name,SUM(cash)
FROM
costumers
GROUP BY (name || ' ' || nickname)
关于 Postgresql 选择的一个问题。这可以正常工作:
SELECT
name,SUM(cash)
FROM
costumers
GROUP BY (name)
但是如何在 GROUP BY 子句中连接两个(或更多)字段?这是我尝试过的:
SELECT
name,SUM(cash)
FROM
costumers
GROUP BY (name || ' ' || nickname)
这将起作用,除了您需要选择分组依据的表达式:
SELECT
(name || ' ' || nickname) AS name_and_nickname,
SUM(cash) AS total_cash
FROM costumers
GROUP BY (name || ' ' || nickname)
另一种选择是通过用逗号分隔两个字段来分组:
SELECT
name, nickname, SUM(cash) AS total_cash
FROM costumers
GROUP BY name, nickname
请注意,这两者并不完全等价。特别是这两行将与第一个版本在同一个组中结束,而在第二个版本中则在不同的组中:
name | nickname | cash
--------+-----------+----
foo | bar baz | 10
foo bar | baz | 20
第二个选项可能就是你的意思。