MySQL最大和最小解释

MySQL最大和最小解释,mysql,max,union,min,Mysql,Max,Union,Min,我的问题是有人来解释这是如何工作的。我在ItPrice列中获取最大值和最小值。另一个学生向我展示了这一点,但无法真正解释发生了什么。我知道工会只是重复相同的代码,将“>号翻转为返回min而不是max,所以我只需要演练一半。问题是: 编写查询以列出与关联的TripType 最高和最低的行程价格 我无法理解提供的sql。但您的问题的解决方案可以如下所示: 我假设您有以下表格: triptype表格: 行程表: 然后,您获取与行程价格相关联的最高和最低TripType的查询可以计算如下: 首先查询以获

我的问题是有人来解释这是如何工作的。我在ItPrice列中获取最大值和最小值。另一个学生向我展示了这一点,但无法真正解释发生了什么。我知道工会只是重复相同的代码,将“>号翻转为返回min而不是max,所以我只需要演练一半。问题是:

编写查询以列出与关联的TripType 最高和最低的行程价格


我无法理解提供的sql。但您的问题的解决方案可以如下所示:

我假设您有以下表格:

triptype表格:

行程表:

然后,您获取与行程价格相关联的最高和最低TripType的查询可以计算如下:

首先查询以获取最高的tripType

这将产生以下行:

------------------------------
| id   | name    | price     |
|------|---------|-----------|
| 42   | Sports  | 16000.00  |
------------------------------
--------------------------------
| id   | name      | price     |
|------|-----------|-----------|
| 11   |Adventure  | 2000.00   |
--------------------------------
其次,查询得到最低的tripType

这将产生以下行:

------------------------------
| id   | name    | price     |
|------|---------|-----------|
| 42   | Sports  | 16000.00  |
------------------------------
--------------------------------
| id   | name      | price     |
|------|-----------|-----------|
| 11   |Adventure  | 2000.00   |
--------------------------------
最后一步

使用UNION将两行查询合并为一个结果:

SELECT tripType.id, tripType.name, MAX(itinerary.itineraryPrice) as 'price'
FROM tripType, itinerary
WHERE itinerary.tripType_id = tripType.id
UNION
SELECT tripType.id, tripType.name, MIN(itinerary.itineraryPrice) as 'price'
FROM tripType, itinerary
WHERE itinerary.tripType_id = tripType.id
最后一步将给出以下最终结果:

-------------------------------
| id   | name      | price     |
|------|-----------|-----------|
| 42   | Sports    | 16000.00  |
|------|-----------|-----------|
| 11   | Adventure | 2000.00   |
-------------------------------
--------------------------------
| id   | name      | price     |
|------|-----------|-----------|
| 11   |Adventure  | 2000.00   |
--------------------------------
SELECT tripType.id, tripType.name, MAX(itinerary.itineraryPrice) as 'price'
FROM tripType, itinerary
WHERE itinerary.tripType_id = tripType.id
UNION
SELECT tripType.id, tripType.name, MIN(itinerary.itineraryPrice) as 'price'
FROM tripType, itinerary
WHERE itinerary.tripType_id = tripType.id
-------------------------------
| id   | name      | price     |
|------|-----------|-----------|
| 42   | Sports    | 16000.00  |
|------|-----------|-----------|
| 11   | Adventure | 2000.00   |
-------------------------------