chris: Mysql abfrage kompliziert

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

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. 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

        --
        -------------------
        Eine Bilanz ist wie der Bikini einer Frau. Sie zeigt fast alles, aber verdeckt das Wesentliche  --  Günter Stotz, Regierungsdirektor des baden-württembergischen Wirtschaftsministeriums
        1. 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

      2. 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

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. 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

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. 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

      --
      Wenn zwei dasselbe tun, sind sie vielleicht bald zu dritt.
      1. 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 ;-)

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes