मैं कॉलम "नाम" और कॉलम "जन्म" से दो रिकॉर्ड प्रदर्शित करना चाहता हूं ताकि प्रत्येक को COUNT ()
का उपयोग करके डुप्लिकेट की संख्या मिल जाए
मैं क्वेरी का उपयोग कर रहा हूँ
SELECT
nama, COUNT(nama),
lahir, COUNT(lahir)
FROM tb_test
GROUP BY nama , lahir
HAVING COUNT(nama) > 1 AND COUNT(lahir) > 1;
लेकिन परिणाम हमेशा शून्य होता है
2 जवाब
मेरा मानना है कि आप आसन्न गिनती के साथ अलग-अलग कॉलम ढूंढ रहे हैं। ये कोशिश करें:
select
t.nama, (select count(1) from tb_test cn where cn.nama = t.nama) as cnt_nama,
t.lahir, (select count(1) from tb_test cn where cn.lahir = t.lahir) as cnt_lahir
from tb_test t
;
जाहिर है कि दो या अधिक के साथ कुछ भी डुप्लीकेट है। आप अपनी आवश्यकता के आधार पर यह सब सबक्वायरी में डाल सकते हैं। यह कुछ इस तरह होगा:
select s.*
from (
select
t.nama, (select count(1) from tb_test cn where cn.nama = t.nama) as cnt_nama,
t.lahir, (select count(1) from tb_test cn where cn.lahir = t.lahir) as cnt_lahir
from tb_test t
) s
where s.cnt_nama > 1 or s.cnt_lahir > 1
;
आप शायद HAVING COUNT(id) > 1
चाहते हैं। लेकिन फिर भी उस नमूना डेटा में समान nama
और lahir
मानों वाली कोई पंक्तियाँ नहीं हैं।
आप यह भी चाह सकते हैं:
SELECT 'nama' as `Field`, nama as `Value`, count(id) as `Count`
FROM tb_test
GROUP BY nama
HAVING COUNT(id) > 1
UNION
SELECT 'lahir' as `Field`, lahir as `Value`, count(id) as `Count`
FROM tb_test
GROUP BY lahir
HAVING COUNT(id) > 1
संबंधित सवाल
नए सवाल
mysql
MySQL एक फ्री, ओपन सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है जो स्ट्रक्चर्ड क्वेरी लैंग्वेज (SQL) का उपयोग करता है। इस टैग को अन्य DBs जैसे SQL Server, SQLite आदि के लिए उपयोग न करें। वे विभिन्न DB हैं जो सभी डेटा का प्रबंधन करने के लिए SQL की अपनी बोलियों का उपयोग करते हैं।