php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 07-09-2006, 02:09
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard Abfrage mit 2 COUNT()

hi, ich hab schon wieder eine frage zu meinem berechtigungssystem.

Code:
CREATE TABLE `user_login_failure` (
  `login_name` varchar(20) NOT NULL default '',
  `ip` varchar(39) NOT NULL default '',
  `timestamp` int(10) NOT NULL default '0'
)
in dieser tabelle werden alle fehllogins gespeichert.
jetzt wollte ich abfragen:

1) die anzahl und den letzten timestamp zu einem benutzer
PHP-Code:
$sql="SELECT
COUNT(`login_name`), MAX(`timestamp`)
from `user_login_failure`
WHERE `login_name`='user'"

2) die anzahl und den letzten timestamp zu einer ip
PHP-Code:
$sql="SELECT
COUNT(`ip`), MAX(`timestamp`)
from `user_login_failure`
WHERE `ip`='127.0.0.1'"

also mit zwei queries, kein problem.
kann ich das gewünschte ergebnis aber auch mit nur einer query herausbekommen?

[edit]
sorry, wollte es eigentlich unter sql / db posten.

Geändert von 3DMax (07-09-2006 um 02:15 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 07-09-2006, 09:07
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Frage beide Bedingungen OR-verknüpft ab
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #3 (permalink)  
Alt 07-09-2006, 14:56
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja, hab ich auch schon versucht:
PHP-Code:
$sql="SELECT
COUNT(`login_name`), COUNT(`ip`), MAX(`timestamp`)
from `user_login_failure`
WHERE `login_name`='user'
OR `ip`='127.0.0.1'"

problem ist nur, beide count-werte sind gleich und die summe (von login_name und ips) und als timestamp bekomme ich auch nur den max-wert von beiden

mit GROUP BY habe ich auch schon experimentiert - ohne erfolg.
Mit Zitat antworten
  #4 (permalink)  
Alt 07-09-2006, 15:01
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Da du keine Gruppierung angibst, würde dir ein weniger tolerantes System als MySQL das sowieso gleich um die Ohren hauen - MySQL gruppiert stattdessen implizit.

Nach den zwei gewünschten Eigenschaften Name und IP gleichzeitig in einer Query sinnvoll zu gruppieren erscheint mir aber nicht möglich.


Wenn nur eine Query abgesetzt und ausgewertet werden soll, dann evtl. noch per UNION oder SUBSELECT - aber ob du damit performanter fährst, wage ich auch noch zu bezweifeln.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 07-09-2006, 16:53
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, dann mache ich zwei abfragen.

Zitat:
Original geschrieben von wahsaga
Da du keine Gruppierung angibst, würde dir ein weniger tolerantes System als MySQL das sowieso gleich um die Ohren hauen - MySQL gruppiert stattdessen implizit.
du meinst also, aus kompatibilitätsgründen grundsätzlich ORDER BY anzuwenden.

aber wonach gruppieren? ich habe mal in meinem ersten beispiel der reihe nach ein ORDER BY nach allen tabellenspalten hinzugefügt. das result war immer gleich - ist es egal, wonach ich gruppiere?

[edit]quatsch, GROUP BY muss ich ja verwenden.
da funktioniert anscheinend nur "GROUP BY `login_name`" - so richtig?

Geändert von 3DMax (07-09-2006 um 16:59 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:41 Uhr.