用oracle计算每个voyage下20尺箱量以及40尺箱量的数量,并计算他们的佣金的费率,USD0.55/20’ USD1.1/HQ,有箱号列表为ctnr——container
时间: 2024-02-21 13:01:12 浏览: 20
假设我们有一个名为`voyage`的表,其中包含以下列:`voyage_id`、`ctnr`、`size`等列,其中`voyage_id`表示航程编号,`ctnr`表示集装箱号,`size`表示集装箱大小(20尺或40尺)。我们可以使用以下SQL语句计算每个航程下20尺箱量和40尺箱量的数量以及佣金费率:
```
SELECT
voyage_id,
SUM(CASE WHEN size = 20 THEN 1 ELSE 0 END) AS num_20,
SUM(CASE WHEN size = 40 THEN 1 ELSE 0 END) AS num_40,
SUM(CASE WHEN size = 20 THEN 1 ELSE 0 END) * 0.55 AS commission_20,
SUM(CASE WHEN size = 40 THEN 1 ELSE 0 END) * 1.1 AS commission_40
FROM voyage
GROUP BY voyage_id;
```
这个SQL语句使用了`SUM`函数和`CASE`语句来计算每个航程下20尺箱量和40尺箱量的数量,同时使用乘法运算符计算佣金费率。最后,使用`GROUP BY`子句将结果按航程编号进行分组。
相关问题
如果这个情况我使用爬虫,URL为https://www.cma-cgm.com.cn/LaraToolkit/ShipScheduleInquery/PostListData,请求方式为POST,载荷为vessel: voyage: service: MED pol: CNTAO area: etdDateFrom: 2023-06-09 etdDateTo: 2023-07-08 line: Draw: 2 Page: 1 Rows: 10 order: asc sort: 。我应该怎样写代码
可以使用Python的requests库来发送POST请求,以下是一个示例代码:
```python
import requests
url = 'https://www.cma-cgm.com.cn/LaraToolkit/ShipScheduleInquery/PostListData'
payload = {
'vessel': '',
'voyage': '',
'service': 'MED',
'pol': 'CNTAO',
'area': '',
'etdDateFrom': '2023-06-09',
'etdDateTo': '2023-07-08',
'line': '',
'Draw': '2',
'Page': '1',
'Rows': '10',
'order': 'asc',
'sort': ''
}
response = requests.post(url, data=payload)
if response.status_code == 200:
print(response.json()) # 如果响应内容是JSON格式,可以使用response.json()方法获取解析后的内容
else:
print('请求失败')
```
上述代码中,我们首先定义了要请求的URL和请求参数,然后使用requests库发送POST请求,并将响应结果打印出来。需要注意的是,这个URL可能需要身份验证或者其他限制,如果无法获取到数据,需要进一步调查原因。同时,需要遵守网站的服务条款和法律规定,不要进行非法操作。
affect (v.) - 影响;effect (n./v.) - 影响,效果; captain (n.) - 船长; cycle (n./v.) - 循环; 利用这几个单词造一个简单的逻辑通顺的英文段落
The captain's decision to alter the course of the ship could affect the entire voyage. The cycle of changing winds and currents had a profound effect on the ship's speed and direction. The captain's experience and knowledge played a crucial role in navigating through these cycles, ensuring a safe and efficient journey for everyone on board.