2010-11-22 11 views
15

यहां मेरी क्वेरी है। यह दो डेटाबेसों में दो तालिकाओं से आईडी की एक सूची का चयन करता है। क्वेरी ठीक काम करता है।MySQL: एक से अधिक घटनाओं के साथ पंक्तियों का चयन करें

select en.id, fp.blogid 
from french.blog_pics fp, french.blog_news fn, english.blog_news en 
where fp.blogid = fn.id 
and en.title_fr = fn.title 
and fp.title != '' 

मैं केवल, पंक्तियों को प्रदर्शित करना चाहते हैं, जहां एक en.id उदाहरण के लिए एक बार से अधिक

तो होती है, तो यह वर्तमान क्वेरी परिणाम

en.id fp.blogid 
--------------- 
    10  12 
    12  8 
    17  9 
    12  8 

मैं केवल यह दिखाने के लिए क्वेरी करना चाहते था इसके बजाए

en.id fp.blogid occurrences 
----------------------------- 
    12  8   2 

उत्तर

37
select en.id, fp.blogid, count(*) as occurrences 
from french.blog_pics fp, french.blog_news fn, english.blog_news en 
where fp.blogid = fn.id 
and en.title_fr = fn.title 
and fp.title != '' 
group by en.id 
having count(*) > 1 
+1

की पहचान = मान पूरी तरह से काम करता है। बहुत बढ़िया! – HyderA

+4

बहुत बढ़िया, बस मुझे लगभग 5 साल बाद क्या चाहिए! प्यार ढेर! –

-5

DISTINCT का उपयोग एकाधिक से बचने के लिए करें मौका

+0

DISTINCT कम से कम 1 परिणाम देता है। मैं परिणाम नहीं चाहता जब तक कि कम से कम 2 घटनाएं न हों। – HyderA

+0

DISTICT (en.id) को पहचानने योग्य के रूप में पहचान के रूप में जहां पहचान> 1 –

+1

पहचान = en.id – HyderA

संबंधित मुद्दे