Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. export async function nextReferralMovesYouUpBy(referralCount: number, createdAt: any) {
  2. const rows = await db.query(`
  3. WITH referrals
  4. AS (SELECT
  5. r."createdAt",
  6. COUNT(*) AS referral_count
  7. FROM reservations r
  8. INNER JOIN reservations rr
  9. ON rr."createdAt" = r."createdAt"
  10. GROUP BY r."createdAt"),
  11.  
  12. current_spot
  13. AS (SELECT
  14. r.id,
  15. r.email,
  16. r."createdAt",
  17. COALESCE(referrals.referral_count, 0) as referral_count
  18. FROM reservations r
  19. LEFT JOIN referrals
  20. ON r."createdAt" = referrals."createdAt")
  21.  
  22. SELECT
  23. COUNT(*)
  24. FROM current_spot
  25. WHERE referral_count > :referral_count
  26. OR (referral_count = :referral_count AND "createdAt" < :created_at)
  27. `, { type: Sequelize.QueryTypes.SELECT, replacements: {
  28. referral_count: referralCount,
  29. created_at: createdAt,
  30. } })
  31. return parseInt(rows[0].count)
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement