মাইএসকিউএল গণনা 2 এরও বেশি সংখ্যক


96

আমি নিম্নলিখিত টেবিল কাঠামো আছে

+  id  +  word  +
+------+--------+

টেবিলটি কোনও প্রদত্ত পাঠ্যের নিম্ন ক্যাসে শব্দের সাথে পূর্ণ হয়ে যায়, তাই পাঠ্য

হ্যালো বাই হ্যালো

ফলাফল হবে

+  id  +  word  +
+------+--------+
+   1  + hello  +
+------+--------+
+   2  + bye    +
+------+--------+
+   3  + hello  +
+------+--------+

আমি একটি নির্বাচন জিজ্ঞাসা তৈরি করতে চাই যা সারণীতে কমপক্ষে দু'বার পুনরাবৃত্তি হওয়া শব্দের সংখ্যা ফিরে আসবে (হ্যালো এর মতো)

SELECT COUNT(id) FROM words WHERE (SELECT COUNT(words.word))>1

টেবিল বড় হলে অবশ্যই কোনটি এতটা ভুল এবং সুপার ওভারলোডিং। এ জাতীয় উদ্দেশ্য কীভাবে অর্জন করা যায়? অন্তর্নিহিত উপরোক্ত উদাহরণটিতে আমি 1 আশা করব


"স্যাগিং" দড়ি ব্রিজের মতো আন্ডারস্কোরগুলি আর কেউ দেখেছেন?
droplet

উত্তর:


238

প্রায়শই যে শব্দগুলির প্রায়শই ঘটে সেগুলির একসাথে একাধিকবার উপস্থিত হওয়ার একটি তালিকা পেতে, গ্রুপ এবং হ্যাভিংয়ের সংমিশ্রণটি ব্যবহার করুন:

SELECT word, COUNT(*) AS cnt
FROM words
GROUP BY word
HAVING cnt > 1

উপরের রেজাল্ট সেটে শব্দের সংখ্যা খুঁজে পেতে, এটি সাবকিউরি হিসাবে ব্যবহার করুন এবং বাইরের ক্যোয়ারিতে সারিগুলি গণনা করুন:

SELECT COUNT(*)
FROM
(
    SELECT NULL
    FROM words
    GROUP BY word
    HAVING COUNT(*) > 1
) T1

4
কেবলমাত্র একটি অ্যাডনান, আপনি "থাকার" ক্ষেত্রেও উপন্যাসটি ব্যবহার করতে পারেন। নির্বাচন করুন শব্দের মতো, COUNT (*) শব্দ থেকে গ্র্যান্ট শব্দগুলি গ্রেন্টের কাছে গ্রন্থ থেকে> 1
বৈভব জৈন

18
SELECT count(word) as count 
FROM words 
GROUP BY word
HAVING count >= 2;

কোডআইগিনিটার থাকারও সমর্থন করে, তাই এটি নিখুঁত ছিল। ধন্যবাদ
জুন 14 বে 21

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.