我有下表,它實際上是多個連接表結果的最小示例。我現在想按'person_ID'進行分組,並將所有'值'條目放在一行中,按照feature_ID排序。SQL group by one column,sort by another and transponse a third
person_ID | feature_ID | value
123 | 1 | 1.1
123 | 2 | 1.2
123 | 3 | 1.3
123 | 4 | 1.2
124 | 1 | 1.0
124 | 2 | 1.1
...
結果應該是:
123 | 1.1 | 1.2 | 1.3 | 1.2
124 | 1.0 | 1.1 | ...
應該有一個優雅的SQL查詢解決方案,我既不能拿出,也沒有找到它。
對於快速重建,這將是該示例數據:
create table example(person_ID integer, feature_ID integer, value float);
insert into example(person_ID, feature_ID, value) values
(123,1,1.1),
(123,2,1.2),
(123,3,1.3),
(123,4,1.2),
(124,1,1.0),
(124,2,1.1),
(124,3,1.2),
(124,4,1.4);
編輯:每個人都有在現實生活中的應用6374項。
我正在使用PostgreSQL 8.3.23數據庫,但我認爲這應該可以用標準SQL解決。
是對列值從'1 feature_ID'固定爲4? – TechDo
如果你的意思是每個人在這張表中的行數都是相同的,那麼是的。雖然在現實生活中它從0到6373。 – Exocom