Mysql abfrage kompliziert
chris
- php
hi
ich hab eine MySql Spalte die nennt sich lat darin befinden sich z.b. folgende Inhalte:
N47° 13.585
N108° 40.850
N6° 59.021
N25° 21.478
N6° 24.584
nun will ich alle gleichen Werte vor dem ° Zählen und die Anzahl ausgeben. Möglich ist alles von N0 bis N180
also in den oben genannten Beispiel soll folgendes rauskommen:
N47 1
N108 1
N6 2
N25 1
wer kann mir helfen? ich bekomme die abfrage beim besten willen nicht hin
mfg
Chris
Hi,
nun will ich alle gleichen Werte vor dem ° Zählen
warum sind die Daten dann nicht entsprechend aufgetrennt gespeichert? Tabellenzelleninhalte sind atomar.
ich bekomme die abfrage beim besten willen nicht hin
Teilstring ermitteln, gruppieren, zählen. Auf welche Probleme bist Du gestoßen?
Cheatah
hi
warum sind die Daten dann nicht entsprechend aufgetrennt gespeichert? Tabellenzelleninhalte sind atomar.
weil ich sie in einem satz erhalt und auch zusammen benötige
Teilstring ermitteln, gruppieren, zählen. Auf welche Probleme bist Du gestoßen?
das ganze ding aufzuteilen ist mein problem zählen bekomm ich ja fast hin wenn es nach dem N immer nur 2 stellen wäre hätte ich sogar eine Lösung (die aber auch nicht funktioniert *g*)
SELECT SUBSTRING(lat,1,3),COUNT(*) From myfound GROUP BY lat HAVING COUNT(*) > 1
mfg
Chris
Hello,
SELECT SUBSTRING(lat,1,3),COUNT(*) From myfound GROUP BY lat HAVING COUNT(*) > 1
ja, dann geh halt das ° suchen...MySQL hat dafür hinreichende String-Funktionen. Nur wie gesagt, die Speicherstruktur ist schon recht ungünstig, und die Performance wird bei den String-Operationen sehr schnell "danke, schönen Feierabend, wir sehen uns morgen" sagen.
MfG
Rouven
Hello,
SELECT SUBSTRING(lat,1,3),COUNT(*) From myfound GROUP BY lat HAVING COUNT(*) > 1
ja, dann geh halt das ° suchen...MySQL hat dafür hinreichende String-Funktionen. Nur wie gesagt, die Speicherstruktur ist schon recht ungünstig, und die Performance wird bei den String-Operationen sehr schnell "danke, schönen Feierabend, wir sehen uns morgen" sagen.MfG
Rouven
gut gut ihr habt mich überredet ich splite das ganze gleich am anfang mit php auf da kenn ich mich wenigstens aus im gegensatz zu den drecks mysql ;)
mfg
chris
Hi,
warum sind die Daten dann nicht entsprechend aufgetrennt gespeichert? Tabellenzelleninhalte sind atomar.
weil ich sie in einem satz erhalt
das ist kein Grund, sie auch zusammen abzuspeichern.
und auch zusammen benötige
Deine Frage beweist das Gegenteil.
das ganze ding aufzuteilen ist mein problem zählen bekomm ich ja fast hin wenn es nach dem N immer nur 2 stellen wäre hätte ich sogar eine Lösung
Formuliere es anders: Du hättest eine Lösung, wenn Du wüsstest, wo das "°" ist.
So. Und jetzt formulierst Du dies nur noch in SQL.
(die aber auch nicht funktioniert *g*)
Nach was willst Du gruppieren?
Cheatah
Hi,
nun will ich alle gleichen Werte vor dem ° Zählen und die Anzahl ausgeben. Möglich ist alles von N0 bis N180
Aus dem Spaltennamen lat wie latitute und den Inhalten der Spalte gehe ich mal von geographischen Koordinaten aus.
0° nördlicher Breite ist der Äquator. 90° nördlicher Breite ist der Nordpol. Wo befindet sich eine Position mit 180° nördlicher Breite?
wer kann mir helfen? ich bekomme die abfrage beim besten willen nicht hin
Ich kann Cheatah nur beipflichten: Wenn Du die Einzelteile der Positionswerte brauchst, gehören diese in getrennte Spalten.
cu,
Andreas
Hallo Andreas,
0° nördlicher Breite ist der Äquator. 90° nördlicher Breite ist der Nordpol. Wo befindet sich eine Position mit 180° nördlicher Breite?
ääähm ... wieder am Äquator? Natürlich auf der anderen Seite. ;-)
*scnr*
Martin
Hi,
0° nördlicher Breite ist der Äquator. 90° nördlicher Breite ist der Nordpol. Wo befindet sich eine Position mit 180° nördlicher Breite?
ääähm ... wieder am Äquator? Natürlich auf der anderen Seite. ;-)
genau. Aufgrund der Abflachung der Pole fällt das unter Wegeoptimierung.
Cheatah ;-)