Skip to content

Instantly share code, notes, and snippets.

@finbarr
Created August 14, 2018 00:17
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save finbarr/8ecb0b034c1a68fa7cf5a295ff954e46 to your computer and use it in GitHub Desktop.
Save finbarr/8ecb0b034c1a68fa7cf5a295ff954e46 to your computer and use it in GitHub Desktop.
Query to find Shopify apps that reached 1000 reviews with no score less than 4 stars.
WITH ranked_reviews AS (
SELECT
a.name AS app_name,
a.id AS app_id,
RANK() OVER (
PARTITION BY r.app_id
ORDER BY
r.posted_at ASC
) AS rank,
r.score,
r.posted_at
FROM
apps a
INNER JOIN reviews r ON r.app_id = a.id
)
SELECT
name
FROM
apps
WHERE
EXISTS(
SELECT
1
FROM
ranked_reviews
WHERE
app_id = apps.id
AND rank >= 1000
)
AND NOT EXISTS(
SELECT
1
FROM
ranked_reviews
WHERE
app_id = apps.id
AND rank <= 1000
AND score < 4
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment