用sql取送驾起点,有如下信息 international_capital.dwd_map_order_route_api_driver_capital_di 表取送驾首次路线的起点坐标 首次怎么取:同一个订单内有多条路线请求的记录(trace_id),将同一个订单内的所有trace_id按时间戳(server_time)正序,第一条记录就是送驾首次的路线请求 start_point order_stage=4 代表是送驾阶段
时间: 2023-11-12 18:09:10 浏览: 180
您可以使用以下 SQL 查询语句来获取送驾阶段的起点坐标:
```sql
SELECT start_point
FROM international_capital.dwd_map_order_route_api_driver_capital_di
WHERE order_stage = 4
AND (trace_id, server_time) IN (
SELECT trace_id, MIN(server_time)
FROM international_capital.dwd_map_order_route_api_driver_capital_di
WHERE order_stage = 4
GROUP BY trace_id
);
```
上述查询语句会先筛选出 order_stage 为 4 的记录,并在子查询中找出每个 trace_id 对应的最早的 server_time。然后,将这些 trace_id 和对应的最早 server_time 与原始表进行匹配,以获取送驾阶段的起点坐标。
相关问题
select t1.month_id, count(distinct offer_name), '今年往月新增有订购' as A from zone_crmchk.dwd_sum_zhuliuxxsc t1 left join zone_crmchk.dwd_sum_zhuliuxxsc t2 on t2.month < t1.month group by t1.month
这是一个 SQL 查询语句,用于统计每个月新增有订购的 offer 数量。其中,t1 和 t2 都是来自于 zone_crmchk 数据库中的 dwd_sum_zhuliuxxsc 表,并通过左连接来进行关联。具体来说,t1 表中的记录代表着当前月份的数据,而 t2 表中的记录则代表着之前月份的数据。通过在 t2 表上添加条件 t2.month < t1.month,可以保证只统计之前的月份。最后,根据 t1.month_id 进行分组,并使用 count(distinct offer_name) 统计不重复的 offer 数量,最终得到的结果会显示在第三列,显示的内容为“今年往月新增有订购”。
SELECT * from dwd_gsms_order_test.oc_order_item_holo AS a JOIN ( SELECT --获取非油的商品 plu_code ,cls_type FROM dwd_gsms_product_test.dwd_plu_holo WHERE cls_type = '0' ) b ON b.plu_code = a.product_no WHERE a.hos_code IN ('NF04','VG0L') AND station_code = '1-A5001-C006-S003'
这是一个 SQL 语句,它的功能是从 `dwd_gsms_order_test.oc_order_item_holo` 表中获取非油的商品信息,然后通过 `JOIN` 操作连接到 `dwd_gsms_product_test.dwd_plu_holo` 表中,最终返回符合要求的记录。
具体来说,这个 SQL 语句的主要操作包括:
1. 从 `dwd_gsms_product_test.dwd_plu_holo` 表中获取 `cls_type` 为 0 的商品信息。
2. 从 `dwd_gsms_order_test.oc_order_item_holo` 表中获取 `hos_code` 在 `NF04` 或 `VG0L` 中,且 `station_code` 为 `1-A5001-C006-S003` 的订单商品信息。
3. 将上述两个结果通过 `JOIN` 操作连接起来,连接条件为商品编号 `plu_code` 相等。
4. 返回符合要求的记录,其中 `*` 表示返回所有字段。
需要注意的是,这是一个测试语句,具体使用时需要根据实际情况进行修改。
阅读全文