J'ai une table comme ci-dessous:Sélectionnez mysql
uid nid points date reason
36 116 2 2012-08-28 11:52:12 session
31 110 2 2012-08-23 15:47:47 session
36 115 2 2012-08-27 11:52:48 session
comme u peut voir uid n'est pas unique, il peut être répété. Ce dont j'ai besoin est de sélectionner la somme des points pour chaque identifiant entre la date (30 jours avant). Par exemple: somme uid36 = à 4. Ce que j'ai essayé:
$start_time = mktime(0, 0, 0, $today["mon"], ($today["mday"] - 30), $today["year"]);//30 days before
$end_time = time();
$query = db_query("SELECT uid,sum(points), date FROM users_history WHERE date BETWEEN '$start_time' AND '$end_time'");
mais comment sélectionner pour chaque id
méfiez-vous également que' start_time' et $ 'end_time' $ seront soit doivent être passés à travers ['FROM_UNIXTIME()'] (http://dev.mysql.com/doc/fr/date-and-time-functions.html#function_from-unixtime) ou formatés comme des littéraux appropriés pour MySQL (par exemple en utilisant ['date()'] (http://php.net/manual/fr/function.date.php)). – eggyal
merci pour les réponses –