我可以使用 NRQL 获取每个版本的使用情况
SELECT count(*) FROM MobileSession since 1 day ago WHERE (appName = 'app-name')
FACET (appVersion) limit MAX
但这些不是唯一的 Uuid,即具有多个会话的同一个人/UUID 将被报告多次。
如果我想要唯一的 UUID,即每个版本只为每个 uuid 报告一次,我想我可以使用子查询
SELECT count(*) FROM (
SELECT count(*) FROM MobileSession WHERE (appName = 'app-name')
FACET appVersion, uuid limit MAX
) since 1 days ago FACET appVersion limit MAX
但是,然后我意识到子查询只能限制为2000个条目
当我增加天数值时,这会使数据不正确。
如何使用 NRQL 获取使用我的应用程序的唯一用户,并按他们使用的版本(多天)进行分组?
uniqueCount()
函数应该可以让您获得您正在寻找的结果:
SELECT count(*) as 'Total Records' uniqueCount(uuid), uniqueCount(deviceUuid), uniqueCount(deviceManufacturer) FROM MobileSession since 1 day ago WHERE (appName ='app-name')
FACET (appVersion) limit MAX
注意,我添加了几个不同的属性(
deviceUuid
、deviceManufacturer
)来说明差异。