SELECT s.*
FROM d1.digitalAssetSharedItems AS s
WHERE …
ORDER BY s.views
OFFSET 0 LIMIT 5
Change this by adding group by
OR
SEECT d1.contat,
(SELECT s.*
FROM d1.digitalAssetSharedItems AS s
WHERE ..........
ORDER BY s.views
OFFSET 0 LIMIT 5) AS digitalAssetSharedItems
FROM ( SELECT d.contact, ARRAY_AGG({d.createdAt, d.lastViewedAt, d.views}) AS digitalAssetSharedItems
FROM (SELECT b.contact, b.createdAt, das.lastViewedAt, SUM(das.views) AS views
FROM `bluebonnet` AS b
UNNEST b.digitalAssetSharedItems AS das
WHERE b.`type` = 'digital-asset-shared'
AND b.tenant = 'tenant::01'
AND b.contact = "contact::45"
GROUP BY b.contact, b.createdAt, das.lastViewedAt) AS d
GROUP BY d.contact) AS d1;