How can I merge, sort and do summation of array item values within the list results

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;