0

Postgresqlに関する1つの質問が選択します。これは正常に機能します。

SELECT 
  name,SUM(cash)
FROM 
  costumers
GROUP BY (name)

しかし、GROUP BY句で2つ(またはそれ以上)のフィールドを連結するにはどうすればよいですか?これは私が試したものです:

SELECT 
  name,SUM(cash)
FROM 
  costumers
GROUP BY (name || ' ' || nickname)
4

1 に答える 1

2

グループ化する式を選択する必要があることを除いて、それは機能します。

SELECT 
    (name || ' ' || nickname) AS name_and_nickname,
    SUM(cash) AS total_cash
FROM costumers
GROUP BY (name || ' ' || nickname)

もう 1 つのオプションは、2 つのフィールドをカンマで区切ってグループ化することです。

SELECT 
    name, nickname, SUM(cash) AS total_cash
FROM costumers
GROUP BY name, nickname

これら 2 つは完全に同等ではないことに注意してください。特に、これらの 2 つの行は、最初のバージョンでは同じグループになり、2 番目のバージョンでは異なるグループになります。

name    | nickname  | cash
--------+-----------+----
foo     | bar baz   | 10
foo bar | baz       | 20

2番目のオプションは、おそらくあなたが意味するものです。

于 2012-08-21T19:33:07.330 に答える