【发布时间】:2017-05-31 13:21:23
【问题描述】:
我正在尝试构建一个仅执行以下功能或这些功能组合的配置单元查询。例如,功能包括
名称=“摘要”
name = "详细信息"
name1 = "车辆统计数据"
name1 = "加速度计"
我必须统计严格遵守上述条件的客户数量。例如,在下表中,不应计算客户“Joy”,因为他有 即使他在名称中同时包含“摘要”和“详细信息”以及名称1中的“车辆统计信息”和“加速度计”,也额外完成了名称中的“费用”。
同样,客户“Lan”不应该被计算在内,因为他在name1中还做了“超速”,不属于上述情况。
customername name name1
Joy summary vehicle stats
Joy details accelerometer
Joy expenses speeding
Lan summary vehicle stats
Lan details accelerometer
Lan details speeding
Hana details accelerometer
Hana summary vehicle stats
下表的计数必须为 1,因为只有 1 位客户 (Hana) 在名称和“车辆统计信息”中只做了“摘要”和“详细信息”,并且 名称中的“加速度计”1。
这是我目前的查询:
select name, name1, count(distinct(customername))
from table1
where date_time between "2017-01-01 00:00:00" and "2017-01-10 00:00:00"
group by name, name1
having name in ('summary', 'details')
or name1 in ('vehicle stats', 'accelerometer')
任何建议都会很棒!
【问题讨论】:
-
客户是否需要拥有所有 4 个属性,或者 1 个就足够了?