SQL ক্যোয়ারী, গণনা এবং দ্বারা গ্রুপ

যদি আমার এই ধরনের তথ্য থাকে:

+---+----+
|Key|Name|
+---+----+
|1  |Dan |
+---+----+
|2  |Tom |
+---+----+
|3  |Jon |
+---+----+
|4  |Tom |
+---+----+
|5  |Sam |
+---+----+
|6  |Dan |
+---+----+

রেকর্ডটি ফিরিয়ে আনতে এসকিউএল কোয়েরি কি, যেখানে নাম 2 বা আরও বার বার পুনরাবৃত্তি হয়?

তাই আমি চাই ফলাফল হবে

 +---+
 |Tom|
 +---+
 |Dan|
 +---+
0
ro fr hi

3 উত্তর

সহজ করা যায়নি ...

Select
Name,
Count(Name) As Count
From
Table
Group By
Name
Having
Count(Name) > 1
Order By
Count(Name) Desc

এটি ডুপ্লিকেট মুছে ফেলতেও প্রসারিত হতে পারে:

Delete
From
Table
Where
Key In (
    Select
    Max(Key)
    From
    Table
    Group By
    Name
    Having
Count(Name) > 1)
0
যোগ
ডিলিট করার জন্য, আপনি কেবলমাত্র মিনি (কী) ত্যাগ করুন এবং অন্যান্য এন্ট্রিগুলি মুছবেন। প্রশ্ন হিসাবে পরিবর্তন করা উচিত "... যেখানে কী না (ন্যূনতম নির্বাচন করুন ...) ...."
যোগ লেখক aartist, উৎস
select name from table group by name having count(name) > 1
0
যোগ

এটি নিজেই টেবিল যোগদান দ্বারা সম্পন্ন করা যেতে পারে,

SELECT DISTINCT t1.name
FROM    tbl t1
        INNER JOIN tbl t2
        ON      t1.name = t2.name
WHERE   t1.key         != t2.key;
0
যোগ