You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取酒店客人入住天数计数列的总和?

获取入住天数列总计值的方法

嘿,这个需求其实很常见,分两种场景给你说解决方案哈:

一、直接在SQL查询中计算总计

如果还没执行最终查询,或者想一次性得到明细+总计,有几种实用写法:

1. 单独计算总计值

如果只需要拿到总计(也就是你说的72),直接用SUM聚合函数包裹你计算入住天数的逻辑就行。比如原查询是计算每个客人的入住天数,那总计查询可以写成:

SELECT SUM(DATEDIFF(checkout_date, checkin_date)) AS 入住天数总计
FROM hotel_guests;

把这里的DATEDIFF(checkout_date, checkin_date)替换成你实际用来计算单客入住天数的表达式就好。

2. 同时显示明细和总计

如果想在同一张结果表里既看到每个客人的入住天数,又看到最后一行的总计,可以用WITH ROLLUP扩展分组查询:

SELECT 
    COALESCE(guest_name, '总计') AS 客人姓名,
    SUM(DATEDIFF(checkout_date, checkin_date)) AS 入住天数
FROM hotel_guests
GROUP BY guest_name WITH ROLLUP;

COALESCE的作用是把分组为NULL的总计行的客人姓名显示为「总计」,最后一行的入住天数就是所有行的总和72。

二、从已有的查询结果集中获取总计

如果已经得到了包含入住天数的结果集(比如在数据库客户端、Excel里),可以这样操作:

  • 数据库客户端(如Navicat、DBeaver):大部分工具的结果集下方都自带统计栏,找到「求和」选项勾选,就能直接看到「入住天数」列的总计;也可以右键结果集,选择「统计」相关选项查看求和值。
  • Excel/表格工具:把结果复制到Excel后,选中「入住天数」列,Excel状态栏会自动显示求和值;也可以用公式=SUM(目标列范围)手动计算。

内容的提问来源于stack exchange,提问作者Footboy Football

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:48:52