Announcement

Collapse
No announcement yet.

group by ein Spalte als Index

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • group by ein Spalte als Index

    Hallo,

    ist es möglich ein Spalte als Index in Group by zu verwenden?

    Danke

  • #2
    Was genau meinst du damit?

    Dim
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment


    • #3
      Hi Dim,

      danke für die Rückmeldung

      ich habe zB. ein Sql Statement:

      Select WarenSumme
      From Waren
      Group by WarenOrt

      Die Frage ist, wenn ich die Spalte WarenOrt als Index in der Tabelle Waren setze(was auch sehr unsinn klingt), ob "Group by" noch funktioniert? Order anders gesagt, ob es ist möglich "Group by" ein Spalte als Index zu verwenden?

      Comment


      • #4
        Hi,

        ein Index hat nie Auswirkungen auf das Ergebnis eines SQLs, er hat (meistens) Auswirkungen auf die Laufzeit - sowohl positive als auch negative je nachdem was man so treibt.

        Allerdings ist dein SQL nicht valide. Ich vermute, Du verwendest Mysql in einer Version <5.0.
        Daher macht mysql aus deiner Query folgendes:
        Select WarenSumme
        From Waren
        Group by WarenOrt,warensumme
        Jedes Feld, dass nicht in einer Aggregatsfunktion vorkommt (z.B. SUM,COUNT,AVG etc.) muss auch ins GROUP BY mysql "vertuscht" deinen Fehler einfach nur und mogelt intern das Feld wieder dazu.
        Jede andere Datenbank wie msssql, DB2 Oracle oder auch mysql ab version 5 würde Dein SQL überhaupt nicht mehr ausführen.

        Da du aber keine Aggegatsfuktion verwendest, macht dein GROUP BY nichts anderes als dass es doppelte Einträge rauswirft.

        Um das zu erreichen gibt es die Funktion DISTINCT, mit der dann auch jeder gleich weiß was Du machen möchtest:

        Select DISTINCT WarenSumme,WarenOrt
        From Waren
        Sollte das identische Ergebnis wie oben liefern.

        Dim
        Zuletzt editiert von dimitri; 25.08.2008, 18:42.
        Zitat Tom Kyte:
        I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

        Comment


        • #5
          Vielen Dank, genau das möchte ich wissen.

          Viele Grüße

          Comment

          Working...
          X