geo
This commit is contained in:
@@ -215,23 +215,22 @@ export async function getGeoAnalytics(params: {
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
linkId?: string;
|
||||
groupBy?: 'country' | 'city';
|
||||
teamIds?: string[];
|
||||
projectIds?: string[];
|
||||
tagIds?: string[];
|
||||
}): Promise<GeoData[]> {
|
||||
const filter = buildFilter(params);
|
||||
const groupByField = params.groupBy === 'city' ? 'city' : 'country';
|
||||
|
||||
// Use IP address as the grouping field
|
||||
const query = `
|
||||
SELECT
|
||||
${groupByField} as location,
|
||||
ip_address as location,
|
||||
count() as visits,
|
||||
uniq(ip_address) as visitors,
|
||||
count() * 100.0 / sum(count()) OVER () as percentage
|
||||
FROM events
|
||||
${filter}
|
||||
GROUP BY ${groupByField}
|
||||
GROUP BY location
|
||||
HAVING location != ''
|
||||
ORDER BY visits DESC
|
||||
LIMIT 20
|
||||
|
||||
Reference in New Issue
Block a user