Lisa: Mysql phpmyadmin distinct und Hochkomma

Hallo,

*bezieht sich auf Phpmyadmin, habs nicht am offenen Herd probiert.

habe seit Jahren nicht mehr viel mit Mysql gemacht und bin dabei mehr als eingerostet. Ich kann mich noch dran erinnern, dass es früher ein Klacks war doppelte Einträge auszuschließen, nur wie, da fehlt die Erinnerung.

Ok, konkreter Fall. Eine Tabelle mit 10 Spalten, eine Spalte eignet sich doppelte auszufiltern, also select distinct 'feld1' from 'tbl'. Doch da fängt schon mal ein Problem an, es kommt ein #1064 Error. Egal welche Zeichen/Hochkomma ich verwende, es funktioniert erst dann, wenn ich gar keine Zeichen nehme. Keine Ahnung warum. Na egal dann eben: select distinct feld1 from tbl. Da kommt dann auch das Ergebnis, aber eigentlich möchte ich nicht nur eine Spalte anzeigen, sondern alle. Da hab ich dann versucht das Statement in vielerlei Varianten umzubauen, die aber natürlich nicht funktionieren. z.B. select * distinct feld1 from tbl usw. Ich weiß zwar, dass ich jede Spalte bei der Abfrage einbauen könnte, aber genau das wäre eben viel Aufwand. Suche also sowas wie: finde alle Einträge, außer mehrfach einträge in spalte2 und zeige mir alle spalten im ergbnis an.

Habe gedacht, sowas muss doch schon tausendmal im Netz zu finden sein, aber nein, so frage ich hier.

lg.

  1. Hallo Lisa,

    Ok, konkreter Fall. Eine Tabelle mit 10 Spalten, eine Spalte eignet sich doppelte auszufiltern, also select distinct 'feld1' from 'tbl'. Doch da fängt schon mal ein Problem an, es kommt ein #1064 Error. Egal welche Zeichen/Hochkomma ich verwende, es funktioniert erst dann, wenn ich gar keine Zeichen nehme.

    Die richtigen sollten die Backticks sein:

    `Table`
    

    Bis demnächst
    Matthias

    --
    Pantoffeltierchen haben keine Hobbys.
    ¯\_(ツ)_/¯
    1. Hallo,

      Die richtigen sollten die Backticks sein:

      danke schon mal dafür. Ja, hast du recht, dabei habe ich die Dinger noch nie gemocht unn bin mir auch nicht sicher ob mysql oder phpmyadmin schon immer so kleinlich waren. Gibt es eigentlich einen besseren Werg als Shift+Taste mit dem Symbol+ein Leerzeichen, um das zu erzeugen?

      lg.

  2. Tach!

    Eine Tabelle mit 10 Spalten, eine Spalte eignet sich doppelte auszufiltern, also select distinct 'feld1' from 'tbl'. Doch da fängt schon mal ein Problem an, es kommt ein #1064 Error. Egal welche Zeichen/Hochkomma ich verwende, es funktioniert erst dann, wenn ich gar keine Zeichen nehme.

    Einfache und doppelte Anführungszeichen sind Stringbegrenzer. Bezeichner werden mit `Backticks` notiert. Oder auch ohne, wenn es kein reserviertes Wort ist.

    Keine Ahnung warum. Na egal dann eben: select distinct feld1 from tbl. Da kommt dann auch das Ergebnis, aber eigentlich möchte ich nicht nur eine Spalte anzeigen, sondern alle.

    SELECT DISTINCT feld FROM ... muss wegen des gewünschten DISTINCT sein. Wenn es noch mehr Felder sein sollen, dann werden die wie üblich mit Komma in der Select-Klausel angegeben. , * geht allerdings nicht, aber , tablename_or_alias.* geht.

    dedlfix.