SELECT account.id AS steamId, COALESCE(NULLIF(profile.name, ''), NULLIF(account.name, ''), account.id) AS displayName, COALESCE(account.last_direct_connection_address, '') AS lastLoginIp, CAST(member.squad_id AS TEXT) AS squadId, entity.location_x AS x, entity.location_y AS y, entity.location_z AS z, MAX(CASE WHEN currency.currency_type = 1 THEN currency.account_balance END) AS normalBalance, MAX(CASE WHEN currency.currency_type = 2 THEN currency.account_balance END) AS goldBalance, profile.last_login_time AS lastLoginTime, CASE WHEN profile.last_login_time IS NOT NULL AND (profile.last_logout_time IS NULL OR profile.last_login_time > profile.last_logout_time) THEN 1 ELSE 0 END AS online, CASE WHEN profile.last_login_time IS NOT NULL AND profile.last_login_time >= strftime('%Y-%m-%dT%H:%M:%fZ', 'now', '-20 seconds') THEN 1 ELSE 0 END AS freshLogin, CAST(mount.vehicle_entity_id AS TEXT) AS riddenGameVehicleId FROM user account LEFT JOIN user_profile profile ON profile.user_id = account.id LEFT JOIN prisoner ON prisoner.id = profile.prisoner_id LEFT JOIN prisoner_entity ON prisoner_entity.prisoner_id = prisoner.id LEFT JOIN entity ON entity.id = prisoner_entity.entity_id LEFT JOIN squad_member member ON member.user_profile_id = profile.id LEFT JOIN prisoner_vehicle_mountee_info mount ON mount.prisoner_id = prisoner.id LEFT JOIN bank_account_registry bank ON bank.account_owner_user_profile_id = profile.id LEFT JOIN bank_account_registry_currencies currency ON currency.bank_account_id = bank.id GROUP BY account.id ORDER BY profile.last_login_time DESC LIMIT :limit