04平台项目管理.sql 881 B

1234567891011121314151617181920
  1. -- Active: xiaoding_test@@192.168.110.85@3306@xiaoding_test
  2. WITH
  3. order_stats AS (
  4. /* 统计每个项目的订单数量 */
  5. SELECT service_id /* 项目编号 */, COUNT(id) AS count /* 订单数量 */
  6. FROM `order` /* 使用反引号包裹order表名 */
  7. WHERE
  8. deleted_at IS NULL
  9. GROUP BY
  10. service_id
  11. )
  12. SELECT p.id /* 项目编号 */, p.title /* 项目名称 */, pc.name /* 项目分类名称 */, p.price /* 项目价格 */, p.duration /* 服务时长(分钟) */, COALESCE(os.count, 0) /* 下单数量 */, p.state /* 状态 */, p.cover /* 项目封面图片 */
  13. FROM
  14. project p
  15. LEFT JOIN project_cate pc ON p.cate_id = pc.id
  16. AND pc.deleted_at IS NULL /* 关联项目分类 */
  17. LEFT JOIN order_stats os ON p.id = os.service_id /* 关联订单统计 */
  18. WHERE
  19. p.deleted_at IS NULL
  20. ORDER BY p.id DESC;