Seite 1 von 1

SQL: phpBB abfrage

Verfasst: 26.04.2007, 07:09
von nerd
Hallo,

ich will fuer ein ein forum eine abfrage mit folgenden feldern schreiben: monat (monat/jahr), neu registrierte user in diesem monat, neu registrierte spambots in diesem monat.

die spambots und echten user zu unterscheiden ist ja nicht das problem, nur wie bekomme ich diese 3 spalten alle in eine tabelle?

sql user:

Code: Alles auswählen

SELECT
DATE_FORMAT(FROM_UNIXTIME(`site`.`phpbb_users`.`user_regdate`), "%m/%y") AS signup_date,
count(`site`.`phpbb_users`.`user_id`) AS 'User registrations'
FROM
`site`.`phpbb_users`
WHERE
`site`.`phpbb_users`.`user_posts`>0
GROUP BY
signup_date
ORDER BY
`site`.`phpbb_users`.`user_regdate` DESC
LIMIT 0, 30
sql spambots:

Code: Alles auswählen

SELECT
DATE_FORMAT(FROM_UNIXTIME(`site`.`phpbb_users`.`user_regdate`), "%m/%y") AS signup_date,
count(`site`.`phpbb_users`.`user_id`) AS 'Spambot registrations'
FROM
`site`.`phpbb_users`
WHERE
`site`.`phpbb_users`.`user_website` !=""
AND `site`.`phpbb_users`.`user_posts` = 0
GROUP BY
signup_date
ORDER BY
`site`.`phpbb_users`.`user_regdate` DESC
LIMIT 0, 30
mit union komme ich irgendwie auch nicht richtig weiter, db ist mysql 4.1 ....

(jaja, das ergebniss ist nicht 100% genau, aber das forum ist ziehmlich gross und mit der fehlerquote kann ich da leben)

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 26.04.2007, 19:07
von d0nut
Ich würde es schon mit UNION machen. Voraussetzung ist, dass alle Spaltennamen gleich sind.

Statt User registrations und Spambot registrations benutzt du also nur registrations.
Und zur Unterscheidung machst du dir einfach eine Pseudospalte

SELECT 1 AS istEsSpam, DATE_FORMAT(FRO..... und
SELECT 0 AS istEsSpam