Задайте таблицата с препоръки, както следва:
referrals:
id (primary key)
referrer_id (user who is referring someone else)
referred_email (email of person being referred)
status (referred[default], registered)
created_on
updated_at
Следвайки политиката „не вярвайте на никого“ не трябва да използвате име като поле в реферали. напр. Изпращам препоръка:email=>your_email, name=>abuse . Това те понижава.
За броене на бр. на реферали:
select count(*) as referral_count from referrals where referrer_id = 'user_id'