sql >> Databáze >  >> RDS >> Mysql

vyberte duplicitní záznam a počítejte záznam oddělený čárkou v mysql

První věc je, že byste měli normalizovat svou strukturu, zbavit se hodnot oddělených čárkami a použít jinou tabulku ke spojení vašich umístění s tabulkou příspěvků, viz Normalizace databáze ,pro vaši současnou strukturu, co můžete udělat, je získat všechna umístění z vašeho stolu a vložit je do nové tabulky a poté použít agregační funkci na vaší nové tabulce

CREATE TABLE locaions (cities CHAR(255)) ;

SET @S1 = CONCAT(
  "INSERT INTO locaions (cities) VALUES ('",
  REPLACE(
    (SELECT 
      GROUP_CONCAT(`Location`) AS DATA 
    FROM
      `posts`),
    ",",
    "'),('"
  ),
  "');"
) ;

PREPARE stmt1 FROM @s1 ;

EXECUTE stmt1 ;

Tím vložíte všechna místa s opakovanými údaji do tabulky umístění a poté pomocí níže uvedeného dotazu získáte požadovaný počet

SELECT cities,count(*) 
FROM locaions 
group by cities

Ukázka




  1. Jak nainstalovat a zabezpečit MariaDB 10 v CentOS 7

  2. Oracle:sekvence MySequence.currval ještě není v této relaci definována

  3. Jak se připojit k Mysql pomocí C#?

  4. Přidání polí aliasů MySQL dohromady