【发布时间】:2019-03-06 03:37:46
【问题描述】:
给定下表
+-----------------------------+
| id | type | price | item_id |
|-----------------------------|
| 1 | 1 | 20 | 22 |
|-----------------------------|
| 2 | 1 | 22 | 22 |
|-----------------------------|
| 3 | 2 | 19 | 22 |
|-----------------------------|
| 4 | 2 | 11 | 22 |
|-----------------------------|
| 5 | 1 | 08 | 22 |
|-----------------------------|
| 6 | 2 | 25 | 22 |
+-----------------------------+
我正在尝试选择数据以在单行中创建如下视图
+-------------------------------------+
| type1_range | type2_range | item_id |
|-------------------------------------|
| 08 - 22 | 11 - 25 | 22 |
+-------------------------------------+
type1_range 和 type2_range 是每种类型的最低和最高价格。
我可以使用几行获取数据
SELECT type, MAX (price) , MIN (price)
FROM table
where item_id=22 GROUP BY type;
+----------------------------+
| type | max | min | item_id |
|----------------------------|
| 1 | 22 | 08 | 22 |
|----------------------------|
| 2 | 25 | 11 | 22 |
+----------------------------+
但我正在尝试像这样连接行:
+-------------------------------------+
| type1_range | type2_range | item_id |
|-------------------------------------|
| 08 - 22 | 11 - 25 | 22 |
+-------------------------------------+
这需要什么 sql?
【问题讨论】:
-
什么是 RDBMS?请编辑您的数据库标签。如果你有
type = 3, 4, 5, ...,会发生什么?您只有 2 个类型值还是无限类型值? -
目前只有两种类型和使用postgres
标签: sql postgresql