home / russian-ads

russian-ads

Custom SQL query returning 6 rows

select
    target_id,
    targets.name,
    count(*) as n,
    json_object(
        "href", "/russian-ads/faceted-targets?targets=" || urllib_quote_plus(
            json_insert(:targets, '$[' || json_array_length(:targets) || ']', target_id)
        ),
        "label", json_insert(:targets, '$[' || json_array_length(:targets) || ']', target_id)
    ) as apply_this_facet,
    json_object(
        "href", "/russian-ads/display_ads?_targets_json=" || urllib_quote_plus(
            json_insert(:targets, '$[' || json_array_length(:targets) || ']', target_id)
        ),
        "label", "See " || count(*) || " ads matching " || json_insert(:targets, '$[' || json_array_length(:targets) || ']', target_id)
    ) as browse_these_ads
from ad_targets
join targets on ad_targets.target_id = targets.id
where
    json_array_length(:targets) == 0 or
    ad_id in (
        select ad_id
        from "ad_targets"
        where "ad_targets".target_id in (select value from json_each(:targets))
        group by "ad_targets".ad_id
        having count(distinct "ad_targets".target_id) = json_array_length(:targets)
    )
    and target_id not in (select value from json_each(:targets))
group by
    target_id order by n desc

Query parameters

target_idnamenapply_this_facetbrowse_these_ads
18789 interests:BuzzFeed 96 ['398aa', 'e6200', '18789'] See 96 ads matching ["398aa","e6200","18789"]
49bfd interests:9GAG 96 ['398aa', 'e6200', '49bfd'] See 96 ads matching ["398aa","e6200","49bfd"]
b1201 placements:News Feed on mobile devices 96 ['398aa', 'e6200', 'b1201'] See 96 ads matching ["398aa","e6200","b1201"]
ec3ac location:United States 96 ['398aa', 'e6200', 'ec3ac'] See 96 ads matching ["398aa","e6200","ec3ac"]
371f0 age:18 - 65+ 91 ['398aa', 'e6200', '371f0'] See 91 ads matching ["398aa","e6200","371f0"]
7b150 age:18 — 65+ 5 ['398aa', 'e6200', '7b150'] See 5 ads matching ["398aa","e6200","7b150"]
Powered by Datasette · Query took 33.114ms