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 08-03-2005, 07:53
JoelH
 Registrierter Benutzer
Links : Onlinestatus : JoelH ist offline
Registriert seit: Jul 2001
Beiträge: 2.740
JoelH ist zur Zeit noch ein unbeschriebenes Blatt
Standard MySQL-Queryproblem mit COUNT

Hi Leutz,

ich hab ein kleines Problem mit folgender Query
Code:
SELECT brokenlinks.bl_to as Artikel
     , COUNT(DISTINCT brokenlinks.bl_from) as Linkanzahl
  FROM cur, brokenlinks
  WHERE cur.cur_id = brokenlinks.bl_from
    AND cur.cur_namespace=0
    AND LENGTH(cur.cur_text) > 200
  GROUP BY brokenlinks.bl_to
  HAVING Linkanzahl = 1
  ORDER BY
Artikel ASC,
Linkanzahl DESC
  LIMIT 300
Die gibt mir alle brokenlinks zurück die nur einmal vorhanden sind. Ich hab hier allerdings das Problem dass ich zwar weiss wie der Brokenlink heisst ich weiss aber nicht wo steht

also hab ich den Artikel mit eingebaut

Code:
SELECT brokenlinks.bl_to as Artikel
     , COUNT(DISTINCT brokenlinks.bl_from) as Linkanzahl
     , cur.cur_title
  FROM cur, brokenlinks
  WHERE cur.cur_id = brokenlinks.bl_from
    AND cur.cur_namespace=0
    AND LENGTH(cur.cur_text) > 200
  GROUP BY brokenlinks.bl_to ,  cur.cur_title
  HAVING Linkanzahl = 1
  ORDER BY
Artikel ASC,
Linkanzahl DESC
  LIMIT 300
leider geht es so aber nicht, da ich dann logischerweise auch die Brokenlinks zurückbekomme die mehrfach vorhanden sind, denn der COUNT funktioniert so nicht mehr so wie er soll bzw. er im ersten Query funktioniert hat. Wie kann ich dieses Problem bei MySQL umgehen? Ich arbeite eigentlich mit einer OracleDB und da würd ich einfach eine Subquery benutzten, leider gibt es diese Feature nicht bei MySQL

PS: Die Tabellen sind die der Mediawikiversion 1.4 falls das jemandem was sagt. ICh versuche Artikel zu suchen die nur einmal überhaupt verlinkt wurden, denn dabei handelt es sich oft schlicht um Tippfehler.
Mit Zitat antworten
  #2 (permalink)  
Alt 08-03-2005, 09:02
JoelH
 Registrierter Benutzer
Links : Onlinestatus : JoelH ist offline
Registriert seit: Jul 2001
Beiträge: 2.740
JoelH ist zur Zeit noch ein unbeschriebenes Blatt
Standard hmm,

im Geiste von MrHappiness hab ich es gelöst, der gute alte Join ersetzt wohl doch so manchen Subquery.

so gehts

Code:
SELECT brokenlinks.bl_to as Artikel
     , COUNT(DISTINCT brokenlinks.bl_from) as Linkanzahl
     , t2.cur_title as Inartikel
  FROM cur, brokenlinks
  INNER JOIN cur t2 ON cur.cur_id = t2.cur_id
  WHERE cur.cur_id = brokenlinks.bl_from
    AND cur.cur_namespace=0
    AND LENGTH(cur.cur_text) > 200
  GROUP BY brokenlinks.bl_to
  HAVING Linkanzahl = 1
  ORDER BY
Artikel ASC,
Linkanzahl DESC
  LIMIT 30
ich versteht zwar nicht wirklich warum aber egal
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

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

Formmailer Bootstrap 4

Mit dem Formmailer kann man sich eMails über seine Seite zukommen lassen.

08.07.2021 arne-home | Kategorie: PHP/ Formular
Fehlerseite Bootstrap 4

Bei Aufruf einer nicht existierenden Seite, teilen Sie Besuchern mit einer eigenen Fehlerseite mit, dass die gewünschte Seite nicht gefunden wurde. Die eigene Fehlerseite sollte dasselbe Design wie die Website haben. Zudem sollte ein Link zur Startseite a

04.07.2021 arne-home | Kategorie: PHP/ Counter
Upload Bootstrap 4

Mit dem PHP - Uploadscript kann man schnell und einfach Bilder und Dateien auf den Webserver hochladen.

04.07.2021 arne-home | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:38 Uhr.