php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.01.2007, 16:44  
Erfahrener Benutzer
 
Registriert seit: 16.01.2007
Beiträge: 133
DarkManX
Standard erweiterte abfrage - where

hallo,

ich versuche eine abfrage zu starten, bei der ich die where klausel nicht finden kann. ich brauche eine multi login abfrage.

es sollen nur die user wiedergegeben werden, deren login-IP auch andere user haben:

Code:
SELECT
	tlogs.ip,
	tlogs.user_id,
	COUNT(tlogs.ip) AS cip,
    (
		SELECT
			COUNT(t2logs.ip)
		FROM
			logs AS t2logs
		WHERE
			t2logs.user_id != tlogs.user_id AND
			t2logs.ip = tlogs.ip
	) AS anzahl
FROM
	logs AS tlogs
GROUP BY
	tlogs.user_id
er gibt mir nun 'name', 'ip', 'user_id', 'cip' (anzahl der ip adressen bei den logs insgesamt) und 'anzahl' (anzahl der ip adressen bei den logs, wo die user_id eine andere ist).


nun brauch ich eine WHERE klausel, die nur die datensätze wiedergibt, bei denen 'anzahl' > 1 ist. nur geht es einfach mit WHERE anzahl>1 nicht. wie kann man das lösen?


danke
dmx
DarkManX ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.01.2007, 17:44  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Code:
SELECT name FROM iptest WHERE ip IN (SELECT ip FROM iptest GROUP BY ip HAVING COUNT(ip) > 1)
Das innere Sub-SELECT wählt dir alle IPs aus, die mehr als 1x vorkommen. Der äußere SELECT listet dir die Namen, deren IPs im Sub-SELECT vorkommen (also doppelt vorkommen).
Zergling-new ist offline   Mit Zitat antworten
Alt 02.02.2007, 17:14  
Erfahrener Benutzer
 
Registriert seit: 29.08.2003
Beiträge: 216
wurtzel
Standard

der subselect wird als Groupfunktion abgearbeitet deshalb " HAVING anzahl>1"
__________________
Das Problem ist der Anfang einer Lösung
wurtzel ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfrage -> where String anhängen Papst Datenbanken 2 28.12.2007 23:11
Where Abfrage durchsuchen $$$ ThiKool $$$ Datenbanken 3 12.09.2007 16:42
where Abfrage in anderer Tabelle?? Matthiasnet Datenbanken 10 11.04.2007 17:35
where abfrage liefert zu viele ergebnisse phpdummi Datenbanken 9 22.01.2007 22:54
Mehrfach where in der ABfrage? Kori Datenbanken 4 16.01.2007 16:46
Mehrere Werte in WHERE abfrage McNet Datenbanken 6 23.04.2006 02:06
SELECT WHERE datetime abfrage - Optimierung mrSpok Datenbanken 15 23.03.2006 19:08
WHERE abfrage nach Datum Datenbanken 2 06.03.2006 16:42
WHERE Falsche Abfrage? Kein MySQL Fehler PHP Tipps 2005-2 10 30.09.2005 10:43
Nach MySQL abfrage noch WHERE ? atom-dragon PHP Tipps 2005-2 6 12.06.2005 04:21
php Variablen in MySQL Abfrage verwenden (WHERE Bedingung) PHP Tipps 2005 20 20.04.2005 20:05
[Erledigt] WHERE Abfrage wird ignoriert Datenbanken 1 22.02.2005 21:19
WHERE LIKE abfrage Datenbanken 2 06.01.2005 09:15
[Erledigt] Doppelte WHERE Abfrage Datenbanken 2 13.11.2004 23:59
abfrage where sth = NULL stefan-miti PHP Tipps 2004 6 26.08.2004 18:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
erweiterte abfrage php, erweiterte abfrage, php erweiterte abfragen, \count as anzahl\ \where anzahl\, select count \as anzahl\ \where anzahl\

Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.