Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

pilih catatan yang digandakan dan hitung catatan dari koma yang dipisahkan di mysql

Hal pertama adalah Anda harus menormalkan struktur Anda, singkirkan nilai yang dipisahkan koma dan gunakan tabel lain untuk menghubungkan lokasi Anda dengan tabel posting Anda, lihat normalisasi database , untuk struktur Anda saat ini yang dapat Anda lakukan adalah mendapatkan semua lokasi dari tabel Anda dan memasukkannya ke dalam tabel baru kemudian menggunakan fungsi agregat pada tabel baru Anda

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 ;

Ini akan memasukkan semua lokasi dengan data berulang di tabel lokasi dan kemudian menggunakan kueri di bawah ini untuk mendapatkan jumlah yang Anda inginkan

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

Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada driver Go Mysql yang mendukung banyak pernyataan dalam satu string?

  2. Bagaimana saya bisa mempercepat kueri MySQL dengan offset besar di klausa LIMIT?

  3. Bagaimana menghubungkan flutter ke database mysql localhost

  4. mysql_connect VS mysql_pconnect

  5. Bagaimana cara menambahkan 1 jam ke currrent_timestamp di mysql yang merupakan nilai default?