SQL 查询:统计 8 月 1 日到 9 月 20 日每天的零售数量和金额
已知有两张表:
- busretail 零售单 (id,billdate,vipid,qty,famount,ramount) 其中 ID 为主键,billdate 为单据日期,vipid 为会员 ID,qty 为零售数量,famount 为零售成交金额,ramount 为零售原价金额。
- defvip 会员档案 (id,VIPNO,VIPNAME,BIRTH,sex,TCNT,TOTLECOST) 其中 id 为主键,VIPno 为会员卡号,vipname 为会员名称,BIRTH 为生日 (例:0920),sex 为性别,TCNT 为消费次数,TOTLECOST 为消费金额。
查询 8 月 1 日到 9 月 20 号的每天的零售数量、零售金额、单据日期内容:
1. 使用 GROUP BY 聚合数据
SELECT billdate, SUM(qty) AS '零售数量', SUM(famount) AS '零售金额'
FROM busretail
WHERE billdate BETWEEN '2021-08-01' AND '2021-09-20'
GROUP BY billdate;
解释:
- 使用
SELECT billdate, SUM(qty) AS '零售数量', SUM(famount) AS '零售金额'选择要查询的字段,并使用SUM()函数分别统计qty和famount的总和,并分别命名为 '零售数量' 和 '零售金额'。 - 使用
FROM busretail指定查询的表。 - 使用
WHERE billdate BETWEEN '2021-08-01' AND '2021-09-20'过滤日期范围。 - 使用
GROUP BY billdate将结果按照billdate进行分组,以便统计每个日期的总和。
2. 直接查询所有数据
SELECT billdate, qty AS '零售数量', famount AS '零售金额'
FROM busretail
WHERE billdate BETWEEN '2021-08-01' AND '2021-09-20';
解释:
- 使用
SELECT billdate, qty AS '零售数量', famount AS '零售金额'选择要查询的字段,并分别命名为 '零售数量' 和 '零售金额'。 - 使用
FROM busretail指定查询的表。 - 使用
WHERE billdate BETWEEN '2021-08-01' AND '2021-09-20'过滤日期范围。
注意: 这种方法会返回所有符合条件的记录,而不是汇总每个日期的总和。 如果需要统计每个日期的总和,则需要使用 GROUP BY 聚合数据。
原文地址: https://www.cveoy.top/t/topic/n93u 著作权归作者所有。请勿转载和采集!