diff --git a/src/lib/db/client-instance-store.ts b/src/lib/db/client-instance-store.ts index 8f1eb99074..0caf4111ea 100644 --- a/src/lib/db/client-instance-store.ts +++ b/src/lib/db/client-instance-store.ts @@ -253,17 +253,26 @@ export default class ClientInstanceStore implements IClientInstanceStore { } async getDistinctApplicationsCount(daysBefore?: number): Promise { - let query = this.db.from(TABLE); - if (daysBefore) { - query = query.where( - 'last_seen', - '>', - subDays(new Date(), daysBefore), - ); - } - return query - .countDistinct('app_name') - .then((res) => Number(res[0].count)); + const query = this.db + .from((qb) => + qb + .select('app_name') + .from(TABLE) + .modify((qb) => { + if (daysBefore) { + qb.where( + 'last_seen', + '>', + subDays(new Date(), daysBefore), + ); + } + }) + .groupBy('app_name') + .as('subquery'), + ) + .count('* as count'); + + return query.then((res) => Number(res[0].count)); } async deleteForApplication(appName: string): Promise {