sql - how to get mysql ranking among results with same id -


त्वरित प्रश्न, मेरे पास एक टाइमस्टैम्प और एक reply_id और topic_id के साथ प्रत्येक संदेश की तालिका है उत्तर_इड्स अन्य के समान हो सकते हैं, जिसका अर्थ है कि ये संदेश उत्तरों के समान समूह में हैं। जब मैं न्यूनतम टाइमस्टैम्प के साथ एक उत्तर_आईडी का चयन करता हूं, जिसका अर्थ है कि यह उस समूह का पहला संदेश था, तो मैं उस विषय_आईडी के पूर्व परिणामों में अपने गिने स्थान को जानना चाहता हूं। तीसरा (3) चौथा (4) आदि। किसी को भी यह कैसे पता है या कोई सुझाव है? क्या यह शुद्ध एसक्यूएल में किया जा सकता है?

  का चयन करें answer_id, न्यूनतम (टाइमस्टैम्प) संदेश के रूप में न्यूनतम है WHERE answer_chunk_id =? और topic_id =? शुद्ध एसक्यूएल का प्रयोग:  
  का चयन करें m  

उत्तर_आईडी, न्यूनतम (एम.टी.एम.स्टैंप) मिनट के रूप में, (संदेश से टीडीडीएड का चयन करें COUNT (*) टी.ड. & lt; = m.id) एमएसएडीएजेएम से एमएआर रैंक एम.रेप्ली_चुंक_आईडी =? और m.topic_id =?

यह केवल तभी काम करता है जब उत्तरदाता अद्वितीय मान है यदि कोई डुप्लिकेट replyid से पहले उत्तरदायित्व है, तो COUNT उस की याद आएगी।

विश्लेषणात्मक कार्य, जो MySQL का समर्थन नहीं करता है, एक होगा बेहतर विकल्प आप MySQL SELECT कथन में वेरिएबल्स का उपयोग करके कार्यक्षमता को फिर से बना सकते हैं।


Comments