採取以下表:返回塔B的所有不同的值在每一行對應一個不同的值在列A
CREATE TABLE boxes (
box integer,
color character varying,
size integer,
...
);
其中兩個box
和color
可以假設出來的小 組不是唯一的值。
查詢該表:
SELECT color, box FROM boxes;
結果會是這樣的:
+-------+-----+
| color | box |
+-------+-----+
| blue | 2 |
| blue | 3 |
| blue | 4 |
| green | 1 |
| green | 3 |
| red | 1 |
| red | 2 |
| red | 2 |
+-------+-----+
是否可以查詢該表以這樣的方式,其結果有兩列,一用一個數組(或字符串或列表),每個不同的color
具有所有不同的box
值?
結果應該是這樣的:
+-------+-----------+
| color | box_types |
+-------+-----------+
| blue | {2,3,4} |
| green | {1,3} |
| red | {1,2} |
+-------+-----------+
其中color
列必須包含唯一值,並且每行必須包含在總量列只不同box
數字。
考慮到這個問題的不可知論性質,我想收集主要DBMS的所有最佳解決方案。在回答時,請指定每個查詢的DBMS的工作方式。
這不是一個真正的SQL的方式來做事。但是,一些dbms產品具有像GROUP_CONCAT和STUFF這樣的功能。 – jarlh
我想有人必須將所有的答案合併成一個...... – xpy
是的,這就是意圖。 –