Mailinglisten-Archive |
At 17:42 17.10.2001, you wrote: >Hi Klaus und Matthias, > > > hab noch was vergessen, nämlich das daily limit klarerweise > > und das filtern eines users: > > select B.daily_limit, count(B.*) from mail_users A > > inner join mail_log B on A.id=B.mail_id > > where A.id='$user_id' > > viel spaß. >mit Errormeldungen, MySQL stockt schon bei 'count(B.*)'... :-( > >SELECT >mail_users.id, ># eine ID braucht man immer >mail_users.name, ># da sollte ein Name drinstehen >COUNT(mail_log.mail_id) AS anzl, ># hier, wie oft der Typ was gemailt hat >mail_users.daily_limit - COUNT(mail_log.mail_id) AS free ># und hier wie oft er denn noch darf >FROM >mail_users ># logo oder ? >LEFT JOIN ># wichtig, verhindert ein Kreuzprodukt >mail_log ># auch logo ;-) >ON >mail_users.id = mail_log.mail_id ># definiert die Zuordnung >GROUP BY >mail_users.id ># sinnlos aber fuer COUNT unabdingbar >ORDER BY >free DESC ># damit die 'guten' oben stehen >; Bisher schon super gelöst (auf soetwas wäre ich nie gekommen), aber wie berücksichtige ich jetzt noch, dass nur Einträge aus mail_log ausgewertet werden sollen, die ein Datum der letzten 24 Stunden enthalten. +----+---------+------------------+-----------+---------------------+ | id | mail_id | mail_from | mail_ip | date | +----+---------+------------------+-----------+---------------------+ | 3 | 1 | matthiaso_(at)_gmx.de | 127.0.0.1 | 2001-10-17 12:44:26 | | 2 | 1 | matthiaso_(at)_gmx.de | 127.0.0.1 | 2001-10-14 12:44:06 | | 4 | 1 | matthiaso_(at)_gmx.de | 127.0.0.1 | 2001-10-17 12:44:26 | | 5 | 1 | matthiaso_(at)_gmx.de | 127.0.0.1 | 2001-10-17 12:44:27 | +----+---------+------------------+-----------+---------------------+ Also sollte jetzt noch free = 1 zurückgegeben werden, und Anzahl = 3. (für mail_id = 1) Ich hoffe Ihr könnt mir auch hier nochmal weiterhelfen, Gruß, Matthias Otterbach --- !!NEU!! Fragen und Antworten zu MySQL und dieser Liste unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive