SELECT CASE WHEN good_time_id = 1 THEN '畅享' WHEN good_time_id = 2 THEN '尊享' WHEN good_time_id = 3 THEN '旗舰' ELSE '至尊' END goodName, statistic_time,SUM(date_part('hour', sign_expiration_time::timestamp - statistic_time::timestamp)) FROM ( SELECT DISTINCT statistic_time FROM vc_bean_residues_statistics WHERE statistic_time >='2023-06-01' ORDER BY statistic_time ) VBRS LEFT JOIN ( SELECT VUE.create_time,sign_expiration_time,good_time_id FROM vc_user_equipment VUE LEFT JOIN vc_cloud_good_time VCGT ON VUE.goods_time_id = VCGT."id" WHERE supplier_type = '2' AND VCGT.charge_type = '1' AND sign_expiration_time >='2023-06-01' ) VA ON date(VBRS.statistic_time) <= date(VA.sign_expiration_time) GROUP BY good_time_id,statistic_time ORDER BY statistic_time,good_time_id;
时间: 2023-10-15 14:05:40 浏览: 92
这是一段 SQL 查询语句,用于查询 vc_bean_residues_statistics 和 vc_user_equipment 两个表中的数据,并对结果进行分类汇总。
在这个查询语句中,"DISTINCT" 用于去重,保证查询结果中的 statistic_time 字段不会有重复的值。具体而言,在子查询中使用了 DISTINCT 关键字,查询出了 vc_bean_residues_statistics 表中 statistic_time 字段的所有不重复的值,然后将这些值与 vc_user_equipment 表中的数据进行 LEFT JOIN 操作,最后按照 good_time_id 和 statistic_time 进行分组,并计算出这些分组的统计结果。
总的来说,这段查询语句的主要作用是统计某个时间段内不同等级的商品使用时长的情况。
阅读全文