2009-05-26 14 views
18

मेरे पास एक प्रश्न है जहां मैं अलग तिथियां, उन तिथियों से जुड़े फोन नंबर और प्रति दिन फोन नंबरों की गिनती प्राप्त करना चाहता हूं।एसक्यूएल विशिष्ट और गिनती

उदाहरण के लिए, मैं दिनांक और फोन नंबर के साथ एक डेटाबेस है और मैं परिणाम

9/2005  5554446666 3 
9/2005  4445556666 1 
10/2005  1112223333 1 
11/2005  2223334444 2 

मैं तारीखों और इस क्वेरी के साथ गिना जाता है प्राप्त कर सकते हैं होना चाहता हूँ:

SELECT DISTINCT date, count(phone) AS count 
FROM calls 
GROUP BY date 

क्या मुझे लगता है कि 'गिनती' का फ़ोन नंबर गिन रहा है। मुझे लगता है कि अद्वितीय मूल्यों की सूची का एक उदाहरण प्राप्त करने के लिए मुझे कुछ प्रकार के समग्र फ़ंक्शन की आवश्यकता है लेकिन पहले() और कुछ अन्य केवल एक SQL त्रुटि फेंक देते हैं। क्या मुझे एक सबक्वायरी चाहिए?

उत्तर

2

ऐसा इसलिए है क्योंकि आप दिनांक द्वारा फ़ोन द्वारा समूहबद्ध कर रहे हैं।

किसी तारीख के समूह में तीन अलग-अलग संख्याएं हो सकती हैं और एसक्यूएल के लिए यह जानना असंभव है कि आप कौन सी चाहते हैं।

27
SELECT date, PhoneNumber, count(phone) AS count 
    FROM calls 
    GROUP BY date, PhoneNumber 

यह करना चाहिए मुझे लगता है कि

7

आप की तरह

SELECT Date, Phone, Count(*) As Count From Calls GROUP BY Date, Phone 

कुछ यह आपको प्रत्येक तिथि को प्रत्येक फोन नंबर की एक संख्या दे देंगे, कितनी बार है कि संख्या के साथ प्रयास कर सकते हैं उस तारीख को दिखाई दिया।

4
SELECT date, phone, count(phone) AS count FROM calls GROUP BY date, phone 

(आप एक समूह द्वारा साथ DISTINCT जरूरत नहीं है।)

0

प्रयास करें बाद

गणना (फोन) कॉल

से आप अलग गणना देंगे।

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