Ich habe eine User-Tabelle mit id_user, Vorname und Name Spalten. Ich möchte alle doppelten Werte auflisten.Get doppelte Spalten mit einer SQL-Abfrage
Ich tat dies:
$query = $this->db->select('user.nom, COUNT(*) as count', false)
->from('user')
->group_by('user.nom')
->having('COUNT(*) >', 1);
return $query->get()->result();
Dies funktioniert, aber nur für den Namen. Er gibt den Namen doppelt an, mit der Anzahl, wie oft er erscheint. Die Sache ist manchmal, dass es zwei Benutzer mit demselben Namen aber unterschiedlichen Vornamen gibt. Wie kann ich Dubletten überprüfen, indem ich zwei Spalten aneinanderreihe?
Ich habe versucht, GROUP_CONCAT mit keinem Erfolg zu verwenden. Ich habe auch versucht, dies zu tun, ich wollte den Namen und den Vornamen verketten, und GROUP_BY es, funktioniert aber nicht:
$query = $this->db->select('CONCAT(user.nom, ' ', user.prenom) as usr, COUNT(*) as count', false)
->from('user')
->group_by('usr')
->having('COUNT(*) >', 1);
return $query->get()->result();
Was kann ich verwenden, damit es funktioniert?
Was haben Sie die Spaltennamen von user.name bearbeiten? –
@ gofr1 Ich habe versucht, aber die Abfrage funktioniert nicht mehr – Komarzer
@f_anto Ich habe es bearbeitet, weil ich es in Englisch geschrieben habe, und meine Spalten sind in Französisch, wollte ich Sie nicht verwirrt denken, dass ich falsche Spalten auswählte in den beiden Beispielen – Komarzer