स्पष्ट रूप से शीर्षक में क्वेरी काम नहीं करती है, लेकिन यह एक बेवकूफ़ तरीके से चित्रित कर सकती है, जो मैं करना चाहता हूं। मेरे पास एक सारणी है जिसमें एक आईडी कॉलम द्वारा पहचाने गए कुछ उपयोगकर्ता शामिल हैं। यह आईडी डेटाबेस के भीतर अद्वितीय नहीं है। यह उस उपयोगकर्ता को चिह्नित करता है जिसमें मेरी तालिका में एकाधिक रिकॉर्ड हो सकते हैं।चयन आईडी जहां COUNT (*)> एक्स? - तालिका में एक्स से अधिक रिकॉर्ड वाले किसी भी उपयोगकर्ता से रिकॉर्ड कैसे प्राप्त करें?
मैं सभी उपयोगकर्ताओं (आईडी द्वारा पहचाना गया) का पूरा रिकॉर्ड कैसे दिखा सकता हूं जिसमें मेरी तालिका में 10 से अधिक रिकॉर्ड हैं?
CREATE TABLE mytable_clean AS
SELECT * FROM mytable WHERE id IN(
SELECT id FROM
(SELECT id,COUNT(*) AS appearance
FROM mytable
GROUP BY id) AS id_count
WHERE id_count.appearance > 9)
यह काम करता है:
यह एक यहाँ वास्तव में तेजी से और अपनी क्वेरी के रूप में बिल्कुल वैसा ही परिणाम है। हालांकि यह पाठ्यक्रम की अधिक सुरुचिपूर्ण है;)। ईश्वर के दृष्टिकोण की तुलना में हैविंग में इस छोटे से अंतर का इतना अंतर क्यों है? –
यह मेरे दृष्टिकोण के समान सटीक है, सिवाय इसके कि मेरे आस-पास अतिरिक्त चयन कथन नहीं है। आपको अतिरिक्त चयन की आवश्यकता क्यों है? – anothershrubery
मुझे इसकी आवश्यकता नहीं है, यह आपको बाहरी चयन के साथ गैर-समेकित कॉलम द्वारा क्रमबद्ध करने की अनुमति देता है। –