MySQL - Mise âge et le nombre de jours entre deux dates

Je suis en train d'interroger une base de données énorme (aprroximately 20 millions de dossiers) pour obtenir certaines données. C'est la question je suis en train de travailler sur la droite maintenant.

SELECT a.user_id, b.last_name, b.first_name, c.birth_date FROM users a
INNER JOIN users_signup b ON a.user_id a = b.user_id
INNER JOIN users_personal c ON a.user_id a = c.user_id
INNER JOIN
(
SELECT distinct d.a.user_id FROM users_signup d
WHERE d.join_date >= '2013-01-01' and d.join_date < '2014-01-01'
) 
AS t ON a.user_id = t.user_id

J'ai quelques problèmes en essayant de récupérer des données supplémentaires à partir de la base de données. Je voudrais ajouter 2 champ supplémentaire dans le tableau des résultats:

  1. Je suis en mesure d'obtenir la date de naissance, mais j'aimerais obtenir de l'âge des membres dans le tableau des résultats. Les données sont stockées en tant que 'yyyy-mm-dd' dans le users_personal table.
  2. Je voudrais obtenir le nombre total de jours depuis un membre a rejoint jusqu'au jour de la gauche (le cas échéant) à partir d'un tableau appelé user_signup en utilisant les données de join_date & left_date (format: aaaa-mm-jj).

OriginalL'auteur Cryssie | 2014-01-13