关于 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
第二个选项可能就是你的意思。