|
@@ -1,202 +0,0 @@
|
|
-[
|
|
|
|
- {
|
|
|
|
- "question": "最近7天各服务区总收入趋势分析(按日期排序)",
|
|
|
|
- "sql": "SELECT oper_date AS 统计日期, service_name AS 服务区名称, SUM(pay_sum) AS 日总收入 FROM bss_business_day_data WHERE delete_ts IS NULL AND oper_date >= CURRENT_DATE - 7 GROUP BY oper_date, service_name ORDER BY oper_date;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "本月与上月收入对比分析(按月份分组)",
|
|
|
|
- "sql": "SELECT DATE_TRUNC('month', oper_date) AS 月份, SUM(pay_sum) AS 月总收入 FROM bss_business_day_data WHERE delete_ts IS NULL AND oper_date >= DATE_TRUNC('month', CURRENT_DATE) - INTERVAL '1 month' AND oper_date < DATE_TRUNC('month', CURRENT_DATE) + INTERVAL '1 month' GROUP BY DATE_TRUNC('month', oper_date) ORDER BY 月份;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "累计收入排名前5的服务区(按总支付金额排序)",
|
|
|
|
- "sql": "SELECT service_name AS 服务区名称, SUM(pay_sum) AS 累计总收入 FROM bss_business_day_data WHERE delete_ts IS NULL GROUP BY service_name ORDER BY 累计总收入 DESC LIMIT 5;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "各支付方式占比分析(微信/支付宝/现金/其他)",
|
|
|
|
- "sql": "SELECT '微信' AS 支付方式, ROUND(SUM(wx)/SUM(pay_sum)*100,2) AS 占比百分比 FROM bss_business_day_data WHERE delete_ts IS NULL UNION ALL SELECT '支付宝', ROUND(SUM(zfb)/SUM(pay_sum)*100,2) FROM bss_business_day_data WHERE delete_ts IS NULL UNION ALL SELECT '现金', ROUND(SUM(rmb)/SUM(pay_sum)*100,2) FROM bss_business_day_data WHERE delete_ts IS NULL UNION ALL SELECT '其他支付', ROUND((SUM(xs)+SUM(jd))/SUM(pay_sum)*100,2) FROM bss_business_day_data WHERE delete_ts IS NULL ORDER BY 占比百分比 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "异常数据监控:单日收入突增超过平均值200%的服务区记录",
|
|
|
|
- "sql": "WITH daily_avg AS (SELECT AVG(pay_sum) AS avg_income FROM bss_business_day_data WHERE delete_ts IS NULL) SELECT a.oper_date, a.service_name, a.pay_sum, ROUND(a.pay_sum/daily_avg.avg_income,2) AS 倍数 FROM bss_business_day_data a, daily_avg WHERE a.delete_ts IS NULL AND a.pay_sum > daily_avg.avg_income * 2 ORDER BY a.oper_date DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "各档口客单价对比分析(按平均订单金额排序)",
|
|
|
|
- "sql": "SELECT branch_name AS 档口名称, ROUND(SUM(pay_sum)/SUM(order_sum),2) AS 客单价 FROM bss_business_day_data WHERE delete_ts IS NULL AND order_sum > 0 GROUP BY branch_name ORDER BY 客单价 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "周末与工作日收入差异分析(统计星期几收入分布)",
|
|
|
|
- "sql": "SELECT CASE WHEN EXTRACT(DOW FROM oper_date) IN (0,6) THEN '周末' ELSE '工作日' END AS 日期类型, AVG(pay_sum) AS 平均日收入 FROM bss_business_day_data WHERE delete_ts IS NULL GROUP BY CASE WHEN EXTRACT(DOW FROM oper_date) IN (0,6) THEN '周末' ELSE '工作日' END;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "微信支付金额月环比增长趋势分析",
|
|
|
|
- "sql": "SELECT DATE_TRUNC('month', oper_date) AS 月份, SUM(wx) AS 微信支付总额, ROUND((SUM(wx) - LAG(SUM(wx),1,0) OVER(ORDER BY DATE_TRUNC('month', oper_date)))/LAG(SUM(wx),1,0) OVER(ORDER BY DATE_TRUNC('month', oper_date))*100,2) AS 环比增长率 FROM bss_business_day_data WHERE delete_ts IS NULL GROUP BY DATE_TRUNC('month', oper_date) ORDER BY 月份;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "庐山服务区各档口收入排名(按支付金额降序排列)",
|
|
|
|
- "sql": "SELECT branch_name AS 档口名称, SUM(pay_sum) AS 累计收入 FROM bss_business_day_data WHERE delete_ts IS NULL AND service_name = '庐山服务区' GROUP BY branch_name ORDER BY 累计收入 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "车辆数量与订单量相关性分析(关联车流数据)",
|
|
|
|
- "sql": "SELECT a.oper_date, a.order_sum AS 订单数量, b.customer_count AS 车辆数量, ROUND(CORR(a.order_sum, b.customer_count),2) AS 相关系数 FROM (SELECT oper_date, SUM(order_sum) AS order_sum FROM bss_business_day_data WHERE delete_ts IS NULL GROUP BY oper_date) a JOIN (SELECT count_date, SUM(customer_count) AS customer_count FROM bss_car_day_count GROUP BY count_date) b ON a.oper_date = b.count_date GROUP BY a.oper_date;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "分析不同车辆类型(危化品/城际/过境/其他)对应的服务区平均消费金额差异",
|
|
|
|
- "sql": "SELECT c.car_type AS 车辆类型, AVG(b.pay_sum) AS 平均消费金额 FROM bss_business_day_data b JOIN bss_service_area_mapper m ON b.service_name = m.service_name AND m.delete_ts IS NULL JOIN bss_car_day_count c ON m.service_area_id = c.service_area_id AND b.oper_date = c.count_date WHERE b.delete_ts IS NULL AND c.delete_ts IS NULL GROUP BY c.car_type;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "找出最近7天车流量排名前10但订单转化率(订单数/车流量)低于5%的服务区",
|
|
|
|
- "sql": "SELECT c.service_area_id AS 服务区ID, SUM(c.customer_count) AS 总车流量, SUM(b.order_sum) AS 总订单数, (SUM(b.order_sum)/SUM(c.customer_count)*100)::numeric(5,2) AS 转化率 FROM bss_car_day_count c JOIN bss_service_area_mapper m ON c.service_area_id = m.service_area_id AND m.delete_ts IS NULL JOIN bss_business_day_data b ON m.service_name = b.service_name AND c.count_date = b.oper_date WHERE c.count_date >= CURRENT_DATE - 7 AND c.delete_ts IS NULL AND b.delete_ts IS NULL GROUP BY c.service_area_id HAVING SUM(b.order_sum)/SUM(c.customer_count) < 0.05 ORDER BY 总车流量 DESC LIMIT 10;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "统计各服务区近一月日均车流量与日均消费金额的线性相关性",
|
|
|
|
- "sql": "SELECT c.service_area_id AS 服务区ID, CORR(c.customer_count, b.pay_sum) AS 相关性系数 FROM bss_car_day_count c JOIN bss_service_area_mapper m ON c.service_area_id = m.service_area_id AND m.delete_ts IS NULL JOIN bss_business_day_data b ON m.service_name = b.service_name AND c.count_date = b.oper_date WHERE c.count_date >= CURRENT_DATE - 30 AND c.delete_ts IS NULL AND b.delete_ts IS NULL GROUP BY c.service_area_id HAVING COUNT(*) > 20;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "对比各分公司管辖服务区的月均车流量和客单价(消费金额/订单数)",
|
|
|
|
- "sql": "SELECT com.company_name AS 所属公司, AVG(c.customer_count) AS 月均车流量, AVG(b.pay_sum/b.order_sum) AS 客单价 FROM bss_car_day_count c JOIN bss_service_area s ON c.service_area_id = s.id AND s.delete_ts IS NULL JOIN bss_company com ON s.company_id = com.id AND com.delete_ts IS NULL JOIN bss_service_area_mapper m ON s.id = m.service_area_id AND m.delete_ts IS NULL JOIN bss_business_day_data b ON m.service_name = b.service_name AND c.count_date = b.oper_date WHERE EXTRACT(MONTH FROM c.count_date) = EXTRACT(MONTH FROM CURRENT_DATE) AND c.delete_ts IS NULL AND b.delete_ts IS NULL GROUP BY com.company_name;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "识别昨日车流量超过该服务区历史平均值200%且消费金额下降超过30%的异常服务区",
|
|
|
|
- "sql": "WITH daily_avg AS (SELECT service_area_id, AVG(customer_count) AS avg_count FROM bss_car_day_count WHERE delete_ts IS NULL GROUP BY service_area_id) SELECT c.service_area_id AS 服务区ID, c.customer_count AS 昨日车流, a.avg_count AS 历史均值, b.pay_sum AS 昨日消费 FROM bss_car_day_count c JOIN daily_avg a ON c.service_area_id = a.service_area_id JOIN bss_business_day_data b ON c.count_date = b.oper_date JOIN bss_service_area_mapper m ON c.service_area_id = m.service_area_id AND m.delete_ts IS NULL AND m.service_name = b.service_name WHERE c.count_date = CURRENT_DATE - 1 AND c.customer_count > 2*a.avg_count AND b.pay_sum < 0.7*(SELECT AVG(pay_sum) FROM bss_business_day_data WHERE service_name = m.service_name AND delete_ts IS NULL);"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "分析周末与工作日的车型分布变化及对应消费差异",
|
|
|
|
- "sql": "SELECT CASE WHEN EXTRACT(ISODOW FROM c.count_date) IN (6,7) THEN '周末' ELSE '工作日' END AS 日期类型, c.car_type AS 车型, COUNT(*) AS 记录次数, AVG(c.customer_count) AS 平均车流, AVG(b.pay_sum) AS 平均消费 FROM bss_car_day_count c JOIN bss_service_area_mapper m ON c.service_area_id = m.service_area_id AND m.delete_ts IS NULL JOIN bss_business_day_data b ON m.service_name = b.service_name AND c.count_date = b.oper_date WHERE c.count_date >= CURRENT_DATE - 30 AND c.delete_ts IS NULL AND b.delete_ts IS NULL GROUP BY ROLLUP(日期类型, 车型);"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "统计各服务区档口微信支付占比(微信金额/总支付金额)与车流高峰时段的关系",
|
|
|
|
- "sql": "SELECT m.service_name AS 服务区名称, b.branch_name AS 档口名称, (b.wx/SUM(b.pay_sum) OVER(PARTITION BY b.service_name, b.oper_date)) * 100 AS 微信占比, CASE WHEN c.customer_count > (SELECT PERCENTILE_CONT(0.75) WITHIN GROUP(ORDER BY customer_count) FROM bss_car_day_count) THEN '高峰时段' ELSE '非高峰' END AS 车流时段 FROM bss_business_day_data b JOIN bss_service_area_mapper m ON b.service_name = m.service_name AND m.delete_ts IS NULL JOIN bss_car_day_count c ON m.service_area_id = c.service_area_id AND b.oper_date = c.count_date WHERE b.delete_ts IS NULL AND c.delete_ts IS NULL;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "预测未来一周各服务区基于历史车流与消费数据的消费趋势(使用线性回归)",
|
|
|
|
- "sql": "SELECT service_area_id AS 服务区ID, date, REGR_INTERCEPT(pay_sum, day_num) + REGR_SLOPE(pay_sum, day_num) * EXTRACT(EPOCH FROM date)/86400 AS 预测消费 FROM (SELECT c.service_area_id, b.oper_date AS date, EXTRACT(EPOCH FROM b.oper_date - CURRENT_DATE + 7) AS day_num, b.pay_sum FROM bss_car_day_count c JOIN bss_service_area_mapper m ON c.service_area_id = m.service_area_id AND m.delete_ts IS NULL JOIN bss_business_day_data b ON m.service_name = b.service_name AND c.count_date = b.oper_date WHERE b.oper_date BETWEEN CURRENT_DATE - 30 AND CURRENT_DATE AND c.delete_ts IS NULL AND b.delete_ts IS NULL) sub GROUP BY service_area_id, date;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "找出最近3天连续出现车流量下降超过15%且消费金额波动异常的服务区",
|
|
|
|
- "sql": "WITH daily_diff AS (SELECT service_area_id, count_date, customer_count - LAG(customer_count,1) OVER(PARTITION BY service_area_id ORDER BY count_date) AS flow_diff, (customer_count - LAG(customer_count,1) OVER(PARTITION BY service_area_id ORDER BY count_date))/NULLIF(LAG(customer_count,1) OVER(PARTITION BY service_area_id ORDER BY count_date),0) * 100 AS flow_rate FROM bss_car_day_count WHERE delete_ts IS NULL) SELECT DISTINCT service_area_id AS 服务区ID FROM daily_diff WHERE count_date >= CURRENT_DATE -3 AND flow_rate < -15 GROUP BY service_area_id HAVING COUNT(*) =3;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "分析不同档口类型(餐饮/零售/其他)的消费转化率与车流密度(车流量/营业面积)的关系",
|
|
|
|
- "sql": "SELECT b.branch_type AS 档口类型, c.customer_count / NULLIF(s.area,0) AS 车流密度, SUM(b.order_sum)/SUM(c.customer_count) AS 转化率 FROM bss_business_day_data b JOIN (SELECT branch_name, CASE WHEN branch_name LIKE '%餐饮%' THEN '餐饮' WHEN branch_name LIKE '%零售%' THEN '零售' ELSE '其他' END AS branch_type FROM bss_business_day_data GROUP BY branch_name) t ON b.branch_name = t.branch_name JOIN bss_service_area_mapper m ON b.service_name = m.service_name AND m.delete_ts IS NULL JOIN bss_car_day_count c ON m.service_area_id = c.service_area_id AND b.oper_date = c.count_date JOIN (SELECT id, (RANDOM()*1000+500)::INT AS area FROM bss_service_area) s ON m.service_area_id = s.id WHERE b.delete_ts IS NULL AND c.delete_ts IS NULL GROUP BY ROLLUP(branch_type);"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "各管理公司最近一个月平均每车次收入及订单转化率排名",
|
|
|
|
- "sql": "SELECT c.company_name AS 公司名称, \n ROUND(SUM(b.pay_sum)/SUM(car.customer_count), 2) AS 单位车次收入,\n ROUND(SUM(b.order_sum)*100/SUM(car.customer_count), 2) AS 订单转化率\nFROM bss_company c\nJOIN bss_service_area sa ON c.id = sa.company_id AND sa.delete_ts IS NULL\nJOIN bss_business_day_data b ON sa.service_area_no = b.service_no\nJOIN bss_car_day_count car ON sa.id = car.service_area_id\nWHERE b.oper_date BETWEEN '2023-03-01' AND '2023-03-31'\n AND car.count_date = b.oper_date\nGROUP BY c.company_name\nORDER BY 单位车次收入 DESC\nLIMIT 10;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "不同季度各管理公司人均产出对比分析",
|
|
|
|
- "sql": "SELECT c.company_name AS 公司名称,\n DATE_TRUNC('quarter', b.oper_date) AS 季度,\n ROUND(SUM(b.pay_sum)/COUNT(DISTINCT b.created_by), 2) AS 人均产出\nFROM bss_company c\nJOIN bss_service_area sa ON c.id = sa.company_id AND sa.delete_ts IS NULL\nJOIN bss_business_day_data b ON sa.service_area_no = b.service_no\nWHERE b.oper_date BETWEEN '2022-01-01' AND '2023-12-31'\nGROUP BY c.company_name, DATE_TRUNC('quarter', b.oper_date)\nORDER BY 季度, 人均产出 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "危化品车辆占比超过10%的服务区运营效率分析",
|
|
|
|
- "sql": "SELECT sa.service_area_name AS 服务区名称,\n c.company_name AS 管理公司,\n ROUND(SUM(b.pay_sum)/SUM(car.customer_count), 2) AS 单位车次收入,\n ROUND(SUM(car_chem.customer_count)*100/SUM(car.customer_count), 2) AS 危化品占比\nFROM bss_service_area sa\nJOIN bss_company c ON sa.company_id = c.id\nJOIN bss_business_day_data b ON sa.service_area_no = b.service_no\nJOIN bss_car_day_count car ON sa.id = car.service_area_id\nJOIN bss_car_day_count car_chem ON sa.id = car_chem.service_area_id\nWHERE car.count_date = b.oper_date\n AND car_chem.car_type = '危化品'\nGROUP BY sa.service_area_name, c.company_name\nHAVING SUM(car_chem.customer_count)*100/SUM(car.customer_count) > 10\nORDER BY 危化品占比 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "城际车辆流量与夜间收入占比关系分析(20:00-6:00时段)",
|
|
|
|
- "sql": "SELECT c.company_name AS 管理公司,\n SUM(car.customer_count) AS 城际车流量,\n ROUND(SUM(CASE WHEN EXTRACT(HOUR FROM b.create_ts) BETWEEN 20 AND 23 OR EXTRACT(HOUR FROM b.create_ts) BETWEEN 0 AND 6 THEN b.pay_sum ELSE 0 END)*100/SUM(b.pay_sum), 2) AS 夜间收入占比\nFROM bss_company c\nJOIN bss_service_area sa ON c.id = sa.company_id\nJOIN bss_business_day_data b ON sa.service_area_no = b.service_no\nJOIN bss_car_day_count car ON sa.id = car.service_area_id\nWHERE car.car_type = '城际'\n AND car.count_date = b.oper_date\nGROUP BY c.company_name\nORDER BY 城际车流量 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "各支付方式订单转化率区域分布热力图",
|
|
|
|
- "sql": "SELECT sa.service_position AS 坐标,\n ROUND(SUM(b.wx_order + b.zf_order + b.rmb_order)*100/SUM(car.customer_count), 2) AS 综合转化率,\n ROUND(SUM(b.wx_order)*100/SUM(b.order_sum), 2) AS 微信占比\nFROM bss_service_area sa\nJOIN bss_business_day_data b ON sa.service_area_no = b.service_no\nJOIN bss_car_day_count car ON sa.id = car.service_area_id\nWHERE b.oper_date BETWEEN '2023-01-01' AND '2023-03-31'\n AND car.count_date = b.oper_date\nGROUP BY sa.service_position;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "资源闲置率最高的5个服务区(连续3个月营收下降)",
|
|
|
|
- "sql": "WITH monthly_revenue AS (\n SELECT service_no,\n DATE_TRUNC('month', oper_date) AS 月份,\n SUM(pay_sum) AS 总营收\n FROM bss_business_day_data\n WHERE oper_date BETWEEN '2022-12-01' AND '2023-02-28'\n GROUP BY service_no, DATE_TRUNC('month', oper_date)\n),\nrevenue_trend AS (\n SELECT service_no,\n ARRAY_AGG(总营收 ORDER BY 月份) AS 收益序列\n FROM monthly_revenue\n GROUP BY service_no\n)\nSELECT sa.service_area_name AS 服务区名称,\n r.收益序列[3] - r.收益序列[1] AS 下降幅度\nFROM revenue_trend r\nJOIN bss_service_area sa ON r.service_no = sa.service_area_no\nWHERE r.收益序列[3] < r.收益序列[2] AND r.收益序列[2] < r.收益序列[1]\nORDER BY 下降幅度 ASC\nLIMIT 5;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "节假日与工作日运营效率差异对比(春节假期 vs 常规周)",
|
|
|
|
- "sql": "SELECT \n CASE WHEN b.oper_date BETWEEN '2023-01-21' AND '2023-01-27' THEN '春节假期' ELSE '常规周' END AS 时段类型,\n ROUND(AVG(b.pay_sum/car.customer_count), 2) AS 平均单车收入,\n ROUND(AVG(b.order_sum/car.customer_count), 2) AS 平均转化率\nFROM bss_business_day_data b\nJOIN bss_car_day_count car ON b.service_no = car.service_area_id\nWHERE b.oper_date BETWEEN '2023-01-10' AND '2023-02-10'\n AND car.count_date = b.oper_date\nGROUP BY \n CASE WHEN b.oper_date BETWEEN '2023-01-21' AND '2023-01-27' THEN '春节假期' ELSE '常规周' END;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "各区域管理公司单位能耗产出对比(需结合能耗表)",
|
|
|
|
- "sql": "SELECT c.company_name AS 公司名称,\n ROUND(SUM(b.pay_sum)/SUM(e.energy_consumption), 2) AS 单位能耗产出\nFROM bss_company c\nJOIN bss_service_area sa ON c.id = sa.company_id\nJOIN bss_business_day_data b ON sa.service_area_no = b.service_no\n-- 假设存在能耗表 energy_consumption_table e\n-- JOIN energy_consumption_table e ON sa.id = e.service_area_id\nWHERE b.oper_date BETWEEN '2023-01-01' AND '2023-03-31'\nGROUP BY c.company_name\nORDER BY 单位能耗产出 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "新入驻公司首月运营效率达标情况检查",
|
|
|
|
- "sql": "SELECT c.company_name AS 公司名称,\n sa.service_area_name AS 服务区,\n ROUND(SUM(b.pay_sum)/COUNT(DISTINCT b.oper_date), 2) AS 日均营收,\n ROUND(SUM(b.order_sum)/COUNT(DISTINCT b.oper_date), 2) AS 日均订单量\nFROM bss_company c\nJOIN bss_service_area sa ON c.id = sa.company_id\nJOIN bss_business_day_data b ON sa.service_area_no = b.service_no\nWHERE sa.create_ts BETWEEN '2023-01-01' AND '2023-03-31'\nGROUP BY c.company_name, sa.service_area_name\nHAVING SUM(b.pay_sum)/COUNT(DISTINCT b.oper_date) < 5000;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "重点路线服务区运营效率矩阵分析(昌栗高速路段)",
|
|
|
|
- "sql": "SELECT sa.service_area_name AS 服务区,\n ROUND(AVG(b.pay_sum/car.customer_count), 2) AS 单位车次收入,\n ROUND(AVG(b.order_sum/car.customer_count), 4) AS 转化率\nFROM bss_section_route sr\nJOIN bss_section_route_area_link link ON sr.id = link.section_route_id\nJOIN bss_service_area sa ON link.service_area_id = sa.id\nJOIN bss_business_day_data b ON sa.service_area_no = b.service_no\nJOIN bss_car_day_count car ON sa.id = car.service_area_id\nWHERE sr.section_name = '昌栗'\n AND b.oper_date BETWEEN '2023-01-01' AND '2023-03-31'\n AND car.count_date = b.oper_date\nGROUP BY sa.service_area_name\nORDER BY 单位车次收入 DESC, 转化率 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "各路段车流量分布情况?",
|
|
|
|
- "sql": "SELECT section.section_name AS 路段名称, SUM(car.customer_count) AS 总车流量 FROM bss_section_route section JOIN bss_section_route_area_link link ON section.id = link.section_route_id JOIN bss_car_day_count car ON link.service_area_id = car.service_area_id WHERE section.delete_ts IS NULL AND car.delete_ts IS NULL GROUP BY section.section_name ORDER BY 总车流量 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "对比不同日期各路段的车流量变化趋势?",
|
|
|
|
- "sql": "SELECT car.count_date AS 统计日期, section.section_name AS 路段名称, SUM(car.customer_count) AS 日车流量 FROM bss_section_route section JOIN bss_section_route_area_link link ON section.id = link.section_route_id JOIN bss_car_day_count car ON link.service_area_id = car.service_area_id WHERE section.delete_ts IS NULL AND car.delete_ts IS NULL GROUP BY car.count_date, section.section_name ORDER BY 统计日期 ASC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "车流量最高的五个服务区?",
|
|
|
|
- "sql": "SELECT area.service_area_name AS 服务区名称, SUM(car.customer_count) AS 总车流量 FROM bss_section_route_area_link link JOIN bss_car_day_count car ON link.service_area_id = car.service_area_id JOIN bss_service_area area ON link.service_area_id = area.id WHERE car.delete_ts IS NULL AND area.delete_ts IS NULL GROUP BY area.service_area_name ORDER BY 总车流量 DESC LIMIT 5;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "分析工作日与周末的平均车流量差异?",
|
|
|
|
- "sql": "SELECT CASE WHEN EXTRACT(DOW FROM car.count_date) IN (0,6) THEN '周末' ELSE '工作日' END AS 日期类型, AVG(customer_count) AS 平均车流量 FROM bss_section_route_area_link link JOIN bss_car_day_count car ON link.service_area_id = car.service_area_id WHERE car.delete_ts IS NULL GROUP BY CASE WHEN EXTRACT(DOW FROM car.count_date) IN (0,6) THEN '周末' ELSE '工作日' END;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "危化品车辆较多的服务区分布?",
|
|
|
|
- "sql": "SELECT area.service_area_name AS 服务区名称, SUM(car.customer_count) AS 危化品车流量 FROM bss_section_route_area_link link JOIN bss_car_day_count car ON link.service_area_id = car.service_area_id JOIN bss_service_area area ON link.service_area_id = area.id WHERE car.car_type = '危化品' AND car.delete_ts IS NULL AND area.delete_ts IS NULL GROUP BY area.service_area_name ORDER BY 危化品车流量 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "统计每个路段连接的服务区数量?",
|
|
|
|
- "sql": "SELECT section.section_name AS 路段名称, COUNT(link.service_area_id) AS 服务区数量 FROM bss_section_route section JOIN bss_section_route_area_link link ON section.id = link.section_route_id WHERE section.delete_ts IS NULL GROUP BY section.section_name ORDER BY 服务区数量 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "分析特定路段(如昌栗)的车辆类型分布?",
|
|
|
|
- "sql": "SELECT car.car_type AS 车辆类型, SUM(car.customer_count) AS 总车流量, ROUND(SUM(car.customer_count)*100.0/(SELECT SUM(customer_count) FROM bss_car_day_count car2 JOIN bss_section_route_area_link link2 ON car2.service_area_id = link2.service_area_id JOIN bss_section_route sec2 ON link2.section_route_id = sec2.id WHERE sec2.section_name = '昌栗' AND car2.delete_ts IS NULL AND sec2.delete_ts IS NULL),2) AS 占比百分比 FROM bss_section_route section JOIN bss_section_route_area_link link ON section.id = link.section_route_id JOIN bss_car_day_count car ON link.service_area_id = car.service_area_id WHERE section.section_name = '昌栗' AND section.delete_ts IS NULL AND car.delete_ts IS NULL GROUP BY car.car_type ORDER BY 总车流量 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "检查是否存在未关联任何路段的服务区?",
|
|
|
|
- "sql": "SELECT area.service_area_name AS 服务区名称 FROM bss_service_area area LEFT JOIN bss_section_route_area_link link ON area.id = link.service_area_id WHERE link.section_route_id IS NULL AND area.delete_ts IS NULL;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "最近7天各路段的车流量统计?",
|
|
|
|
- "sql": "SELECT section.section_name AS 路段名称, SUM(car.customer_count) AS 总车流量 FROM bss_section_route section JOIN bss_section_route_area_link link ON section.id = link.section_route_id JOIN bss_car_day_count car ON link.service_area_id = car.service_area_id WHERE section.delete_ts IS NULL AND car.delete_ts IS NULL AND car.count_date >= CURRENT_DATE - 7 GROUP BY section.section_name ORDER BY 总车流量 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "找出订单总数与车流量相关性高的服务区?",
|
|
|
|
- "sql": "SELECT area.service_area_name AS 服务区名称, SUM(business.order_sum) AS 总订单数, SUM(car.customer_count) AS 总车流量, ROUND(SUM(business.order_sum)*1.0/SUM(car.customer_count),4) AS 订单车流比 FROM bss_service_area area JOIN bss_business_day_data business ON area.service_area_name = business.service_name JOIN bss_car_day_count car ON area.id = car.service_area_id WHERE area.delete_ts IS NULL AND business.delete_ts IS NULL AND car.delete_ts IS NULL GROUP BY area.service_area_name ORDER BY 订单车流比 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "不同数据来源类别的业务数据记录数量对比",
|
|
|
|
- "sql": "SELECT sa.source_type AS 数据来源类别, COUNT(*) AS 记录数量 FROM bss_business_day_data bdd JOIN bss_service_area_mapper sa ON bdd.service_no = sa.service_no WHERE bdd.delete_ts IS NULL GROUP BY sa.source_type ORDER BY 记录数量 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "近30天各服务区微信支付金额波动趋势分析",
|
|
|
|
- "sql": "SELECT oper_date AS 统计日期, service_name AS 服务区名称, SUM(wx) AS 微信支付总额 FROM bss_business_day_data WHERE oper_date >= CURRENT_DATE - 30 AND delete_ts IS NULL GROUP BY oper_date, service_name ORDER BY oper_date DESC LIMIT 100;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "版本变更次数超过5次的服务区映射信息",
|
|
|
|
- "sql": "SELECT service_name AS 服务区名称, COUNT(version) AS 版本变更次数 FROM bss_service_area_mapper WHERE delete_ts IS NULL GROUP BY service_name HAVING COUNT(version) > 5 ORDER BY 版本变更次数 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "检查服务区编码与名称的匹配一致性",
|
|
|
|
- "sql": "SELECT bdd.service_no AS 业务数据编码, bdd.service_name AS 业务数据名称, sa.service_name AS 映射表名称 FROM bss_business_day_data bdd JOIN bss_service_area_mapper sa ON bdd.service_no = sa.service_no WHERE bdd.service_name != sa.service_name AND bdd.delete_ts IS NULL LIMIT 50;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "最近7天每日新增业务数据量的时效性分析",
|
|
|
|
- "sql": "SELECT DATE(create_ts) AS 创建日期, COUNT(*) AS 新增记录数 FROM bss_business_day_data WHERE create_ts >= CURRENT_DATE - 7 AND delete_ts IS NULL GROUP BY DATE(create_ts) ORDER BY 创建日期 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "不同支付方式订单占比分布统计",
|
|
|
|
- "sql": "SELECT '微信' AS 支付方式, SUM(wx_order) AS 订单数 FROM bss_business_day_data WHERE delete_ts IS NULL UNION ALL SELECT '支付宝', SUM(zf_order) FROM bss_business_day_data WHERE delete_ts IS NULL UNION ALL SELECT '现金', SUM(rmb_order) FROM bss_business_day_data WHERE delete_ts IS NULL ORDER BY 订单数 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "检查超过30天未更新的业务数据记录",
|
|
|
|
- "sql": "SELECT service_name AS 服务区名称, oper_date AS 统计日期, update_ts AS 最后更新时间 FROM bss_business_day_data WHERE update_ts < CURRENT_DATE - 30 AND delete_ts IS NULL ORDER BY update_ts ASC LIMIT 50;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "各服务区不同数据源支付总额差异分析",
|
|
|
|
- "sql": "SELECT service_name AS 服务区名称, source_type AS 数据源类型, SUM(pay_sum) AS 支付总额 FROM bss_business_day_data bdd JOIN bss_service_area_mapper sa ON bdd.service_no = sa.service_no WHERE bdd.delete_ts IS NULL GROUP BY service_name, source_type HAVING SUM(pay_sum) > 10000 ORDER BY 支付总额 DESC LIMIT 20;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "手工录入数据每月占比变化趋势",
|
|
|
|
- "sql": "SELECT DATE_TRUNC('month', bdd.create_ts) AS 月份, COUNT(CASE WHEN sa.source_system_type = '手工录入' THEN 1 END) * 100.0 / COUNT(*) AS 手工录入占比 FROM bss_business_day_data bdd JOIN bss_service_area_mapper sa ON bdd.service_no = sa.service_no WHERE bdd.delete_ts IS NULL GROUP BY DATE_TRUNC('month', bdd.create_ts) ORDER BY 月份 DESC;"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "question": "检查同一天同一服务区的重复数据记录",
|
|
|
|
- "sql": "SELECT oper_date AS 统计日期, service_area_id AS 服务区ID, COUNT(*) AS 重复次数 FROM bss_business_day_data bdd JOIN bss_service_area_mapper sa ON bdd.service_no = sa.service_no WHERE bdd.delete_ts IS NULL GROUP BY oper_date, service_area_id HAVING COUNT(*) > 1 ORDER BY 重复次数 DESC LIMIT 30;"
|
|
|
|
- }
|
|
|
|
-]
|
|
|