title image


Smiley Count- Group by - Select- Anfrage, mit Bedinung für count -
Vorab: ein ähnlichen Beitrag habe ich schon letzte Woche gepostet, jetzt wird das Problem aber erweitert.



Ich nutze mysql 4.1, aber es geht hier um ein allgemeines SQL-Statement:



ich habe eine Tabelle in der es zwei Spalten gibt. Die erste ist ein Name und die Zweite ein Zahlenwert zwischen 0 und 1000.



Für jeden Namen gibt es durchschnittlich 50 Einträge mit den unterschiedlichsten Werten zwischen 0 und 1000.



Ich möchte jetzt alle die Einträge haben, für die es in der gleichen Tabelle einen Eintrag mit dem gleichen Namen gibt, und der dazugehörige Wert darf maximal um 15 größer oder kleiner sein als der des ersten Eintrages:



Beispiel:



Name Wert

A 10

A 20

A 30

A 300

A 500

A 700

A 710

A 900



B 50

B 200

B 215

B 210

B 400

B 416

B 700

B 45



Nach der Anfrage sollte dann soetwas wie



A 10

A 20

A 30

A 700

A 710

B 50

B 200

B 215

B 210

B 45



herauskommen. ICh hoffe es ist klar was ich möchte. Dies habe ich mit einem JOIN auf die gleiche Tabelle gelöst.



JETZT KOMMT DAS SCHWIERIGE:



Jetzt möchte ich quasi für jeden Namen die Anzahl der verschiedenen "Nachbarschaften" haben. Also 10, 20, 30 sind eine NAchbarschaft, da sie alle - wenn auch nur wieder über einen anderen Nachbarn - nur 15 voneinander entfernt sind.

700 und 710 wären auch eine "Nachbarschaft".

In meinem Beispiel sollte dann ganz am Ende folgendes rauskommen:



A 2

B 2



Ich hoffe es ist verständlich was ich meine. Wer die erste zwischentabelle übergehen möchte, kann dies gerne machen.



Vielen Dank für Eure Hilfe.



Gruß schingeldi

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: