1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Doppelte Einträge anzeigen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von littleman, 3 März 2017.

  1. littleman

    littleman Benutzer

    Hallo zusammen,

    ich möchte in einer Tabelle nur die doppelte Einträge zeigen.

    Die Tabelle sieht so aus:

    (1, 23456, 'Al', 1234),
    (2, 23456, 'Al', 1233),
    (3, 23456, 'Al', 1333),
    (4, 23456, 'Al', 1333),
    (5, 23457, 'So', 2333),
    (6, 2333457, 'So', 2333);

    Wenn ich die Abfrage so abfeuere:
    SELECT p_id, pnr, name, count(p_personal_id) FROM test_count
    where count(p_personal_id)>1

    Bekomme ich folgende Meldung in mysql:
    #1111 - Falsche Verwendung einer Gruppierungsfunktion

    Ich würde mir das Ergebnis so vorstellen:
    (3, 23456, 'Al', 1333),
    (4, 23456, 'Al', 1333),
    (5, 23457, 'So', 2333),
    (6, 2333457, 'So', 2333);




    Meine Tabelle:
    -- --------------------------------------------------------

    --
    -- Tabellenstruktur für Tabelle `test_count`
    --

    CREATE TABLE `test_count` (
    `p_id` int(11) NOT NULL,
    `pnr` int(11) NOT NULL,
    `name` varchar(30) NOT NULL,
    `p_personal_id` int(11) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    --
    -- Daten für Tabelle `test_count`
    --

    INSERT INTO `test_count` (`p_id`, `pnr`, `name`, `p_personal_id`) VALUES
    (1, 23456, 'Al', 1234),
    (2, 23456, 'Al', 1233),
    (3, 23456, 'Al', 1333),
    (4, 23456, 'Al', 1333),
    (5, 23457, 'So', 2333),
    (6, 2333457, 'So', 2333);

    --
    -- Indizes der exportierten Tabellen
    --

    --
    -- Indizes für die Tabelle `test_count`
    --
    ALTER TABLE `test_count`
    ADD PRIMARY KEY (`p_id`);

    --
    -- AUTO_INCREMENT für exportierte Tabellen
    --
    --------------------------------------------------
     
  2. littleman

    littleman Benutzer

    Habt glaube ich:
    SELECT name,p_personal_id,count(p_personal_id)FROMtest_countgroupbyp_personal_idhavingcount(p_personal_id)>1
     
  3. ukulele

    ukulele Datenbank-Guru

    Prinzipiell liegst du mit HAVING richtig aber lass dir sagen das alle Spalten im Select entweder aggregiert oder gruppiert werden müssen, auf name trifft das nicht zu. Neue MySQL Versionen werden dir den Fehler korrekt melden, alte machen was sie für richtig halten.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden