SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.08.2014, 09:46:25
istuggi
Guest
 
Beiträge: n/a
nur Wert anzeigen, sofern er drai mal vorkommt

Hallo,

ich habe eine SQL Abfrage, die soweit funktioniert.
Diese listet alle Tickets auf von Geräten, die 30 Tage in der Vergangenheit bis heute liegen.

Ich möchte nun nur die Tickets inkl. den Geräten angezeigt haben, die öfters als 3 mal in diesem Zeitraum vorkommen.

Danke
Mit Zitat antworten
  #2  
Alt 14.08.2014, 10:06:10
pguser pguser ist offline
Junior Member
 
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
AW: nur Wert anzeigen, sofern er drai mal vorkommt

HAVING ist Dein Freund. Und ein SQL-Buch.
Mit Zitat antworten
  #3  
Alt 14.08.2014, 10:57:34
istuggi
Guest
 
Beiträge: n/a
AW: nur Wert anzeigen, sofern er drai mal vorkommt

ich habe schon mehrere SQL Bücher in der Hand gehabt,
leider habe ich keine Lösung meines Problems.
Habe bereits mit Having probiert, aber das Ergebnis ist falsch.
Mit Zitat antworten
  #4  
Alt 14.08.2014, 11:02:25
istuggi
Guest
 
Beiträge: n/a
AW: nur Wert anzeigen, sofern er drai mal vorkommt

hier mal mein Code:

Code:
SELECT AN, RN, MN, SN, MB, Fehler, Datum
FROM Auftragskoepfe ak

INNER JOIN AM
ON AM.AN = ak.AN

WHERE ak.Datum > (GETDATE()-30) 
ORDER BY ak.MN desc
Hier zeigt er mir das richtige Ergebnis an, aber halt alle MN, die auch in der Zeit nur einmal vorkommen. Ich möchte jetzt nur die agezeigt haben, die 3 mal oder mehr vorkommen.

Durch den Zusatz:

GROUP BY AN, RN, SN, MB, Fehler, Datum, MN HAVING count( * ) >=3

kommt nichts mehr als Ergebnis
Mit Zitat antworten
  #5  
Alt 14.08.2014, 11:09:50
pguser pguser ist offline
Junior Member
 
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
AW: nur Wert anzeigen, sofern er drai mal vorkommt

Logisch. Ist ja auch syntaktisch / logisch falsch.
Mit Zitat antworten
  #6  
Alt 14.08.2014, 11:38:10
istuggi
Guest
 
Beiträge: n/a
AW: nur Wert anzeigen, sofern er drai mal vorkommt

so und jetzt müsste ich wissen wie es richtig ist
Mit Zitat antworten
  #7  
Alt 14.08.2014, 11:43:22
istuggi
Guest
 
Beiträge: n/a
AW: nur Wert anzeigen, sofern er drai mal vorkommt

habe das noch getestet, aber er ignoriert das GETDATE() -30 und zeigt mir alle Datumswerte an.

Code:
SELECT am.AN, ak.RN, am.MN, am.SN, am.MB, am.Fehlertext, ak.Datum
FROM ak

INNER JOIN  am
ON am.AN = ak.AN

WHERE am.MN IN 
(SELECT am.MN
FROM am
INNER JOIN  ako
ON ako.AN = am.AN
WHERE ako.Datum > (GETDATE() -30) 
GROUP BY am.MN HAVING COUNT(am.MN) > 3) 
ORDER BY am.Maschinennummer desc
Mit Zitat antworten
  #8  
Alt 14.08.2014, 11:45:10
pguser pguser ist offline
Junior Member
 
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
AW: nur Wert anzeigen, sofern er drai mal vorkommt

Zitat:
Zitat von istuggi Beitrag anzeigen
so und jetzt müsste ich wissen wie es richtig ist
als demo:

Code:
test=*# select * from master ;
 id
----
  1
  2
(2 rows)

test=*# select * from slave ;
 m_id
------
    1
    1
    2
    2
    2
    2
(6 rows)

test=*# select * from master m inner join (select m_id, count(*) from slave group by m_id having count(*) > 2) s on m.id=s.m_id;
 id | m_id | count
----+------+-------
  2 |    2 |     4
(1 row)
Das anzupassen überlasse ich dir zur Übung. Der Bedarf ist ja da.
Mit Zitat antworten
  #9  
Alt 14.08.2014, 11:56:14
istuggi
Guest
 
Beiträge: n/a
AW: nur Wert anzeigen, sofern er drai mal vorkommt

sorry ich glaube du verstehst mich falsch, hier nochmals:

habe ein ergebnis, was so aussieht:
Beispiel:

SN -- MN -- Datum -- Fehler
123 -- 456 -- 01.01.2010 -- funktioniert nicht
123 -- 456 -- 01.01.2014 -- funktioniert nicht
234 -- 888 -- 08.08.2014 -- funktioniert nicht
234 -- 888 -- 14.08.2014 -- funktioniert nicht
234 -- 888 -- 07.08.2014 -- funktioniert nicht
444 -- 544 -- 01.01.2012 -- funktioniert nicht
444 -- 544 -- 01.01.2013 -- funktioniert nicht
444 -- 544 -- 01.08.2014 -- funktioniert nicht

Das Ergebnis soll dann aber nur so aussehen:

SN -- MN -- Datum -- Fehler
234 -- 888 -- 08.08.2014 -- funktioniert nicht
234 -- 888 -- 14.08.2014 -- funktioniert nicht
234 -- 888 -- 07.08.2014 -- funktioniert nicht

Warum? Weil nur diese MN in einem Zeitraum innerhalb der letzten 30 Tage mehr als zwei mal ein fehler gemeldet hat.

Danke
Mit Zitat antworten
  #10  
Alt 14.08.2014, 12:13:35
pguser pguser ist offline
Junior Member
 
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
AW: nur Wert anzeigen, sofern er drai mal vorkommt

Zitat:
Zitat von istuggi Beitrag anzeigen
sorry ich glaube du verstehst mich falsch, hier nochmals:


Danke
Doch, aber Du kannst nicht abstrahieren.

Code:
test=*# select * from istuggi ;
 sn  | mn  |   datum
-----+-----+------------
 123 | 456 | 2010-01-01
 123 | 456 | 2014-01-01
 234 | 888 | 2014-08-08
 234 | 888 | 2014-08-14
 234 | 888 | 2014-08-07
 444 | 544 | 2012-01-01
 444 | 544 | 2013-01-01
 444 | 544 | 2014-08-01
(8 rows)

test=*# select * from istuggi where (sn, mn) in (select sn, mn from istuggi where datum > current_date - 30 group by 1,2 having count(*) >=3);
 sn  | mn  |   datum
-----+-----+------------
 234 | 888 | 2014-08-08
 234 | 888 | 2014-08-14
 234 | 888 | 2014-08-07
(3 rows)
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellen normalisieren teddyd MySQLi/PDO/(MySQL) 3 09.06.2011 11:22:38
IF Abfrage: Wenn x-beliebieger Wert, dann anzeigen davinci PHP Grundlagen 4 08.09.2008 21:40:21
Abfrage, ob ein der Wert eines Feldes im Wert eines anderen Feldes vorkommt gansta MySQLi/PDO/(MySQL) 4 19.12.2006 12:04:56
Dateien anzeigen, wo Begriff im Dateinamen vorkommt Stefan123 PHP Grundlagen 2 18.02.2006 22:39:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:57:08 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt