Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डुप्लिकेट रिकॉर्ड का चयन करें और mysql में अलग अल्पविराम से रिकॉर्ड गिनें

पहली बात यह है कि आपको अपनी संरचना को सामान्य करना चाहिए अल्पविराम से अलग किए गए मानों से छुटकारा पाना चाहिए और अपनी पोस्ट तालिका के साथ अपने स्थानों को जोड़ने के लिए दूसरी तालिका का उपयोग करना चाहिए डेटाबेस सामान्यीकरण , आपके लिए वर्तमान संरचना आप क्या कर सकते हैं अपनी तालिका से सभी स्थान प्राप्त करें और उन्हें नई तालिका में डालें और फिर अपनी नई तालिका पर कुल फ़ंक्शन का उपयोग करें

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 ;

यह स्थान तालिका में दोहराए गए डेटा वाले सभी स्थानों को सम्मिलित करेगा और फिर अपनी वांछित गणना प्राप्त करने के लिए नीचे दी गई क्वेरी का उपयोग करेगा

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

डेमो




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्वचालित रोलबैक यदि COMMIT TRANSACTION नहीं पहुंचा है

  2. चयन सूची ग्रुप बाय क्लॉज में नहीं है और इसमें गैर-समेकित कॉलम है .... sql_mode के साथ असंगत =only_full_group_by

  3. क्या बाएं बाहरी जोड़ और बाएं जुड़ते हैं?

  4. Laravel 5.1 - डेटाबेस कनेक्शन की जाँच करना

  5. mysql त्रुटि:तालिका mysql.innodb_table_stats नहीं मिली