हम नवंबर 2020 के लिए प्रति घंटे प्रति दिन समीक्षा की गई नौकरियों की संख्या की गणना कैसे कर सकते हैं?


जैसे यह प्रश्न वस्तुतः मुझे बहुत भ्रमित करने वाला है।

-जॉब_आईडी: नौकरियों की विशिष्ट पहचानकर्ता
-actor_id: अभिनेता की विशिष्ट पहचानकर्ता
-घटना: निर्णय/छोड़ें/स्थानांतरण
-भाषा: सामग्री की भाषा
-time_spent: सेकंड में कार्य की समीक्षा करने में बिताया गया समय
-org: अभिनेता का संगठन,
-डीएस: दिनांक yyyy/mm/dd प्रारूप में। इसे टेक्स्ट के रूप में संग्रहित किया जाता है और इसे चलाने के लिए हम presto का उपयोग करते हैं। दिनांक फ़ंक्शन की कोई आवश्यकता नहीं

CREATE TABLE job_data
(
	ds DATE,
    job_id INT NOT NULL,
    actor_id INT NOT NULL,
    event VARCHAR(15) NOT NULL,
    language VARCHAR(15) NOT NULL,
    time_spent INT NOT NULL,
    org CHAR(2)
);

डीएस जॉब_आईडी एक्टर_आईडी इवेंट भाषा टाइम_स्पेंट ऑर्ग
————————————————– —————-
2020-11-30 21 1001 अंग्रेजी 15 ए छोड़ें
2020-11-30 22 1006 स्थानांतरण अरबी 25 बी
2020-11-29 23 1003 निर्णय फ़ारसी 20 सी
2020-11-28 23 1005 स्थानांतरण फ़ारसी 22 डी
2020-11-28 25 1002 निर्णय क्रमांक 11 बी
2020-11-27 11 1007 निर्णय फ्रेंच 104 डी
2020-11-26 23 1004 फ़ारसी 56 ए छोड़ें
2020-11-25 20 1003 स्थानांतरण इटालियन 45 सी

और यह वह तालिका है जिससे हमें गिनती करनी है। विचारणीय बिंदु:
घटना का क्या मतलब है? समीक्षा के लिए क्या विचार करें?

मैंने क्या प्रयास किया है:

SELECT COUNT(*) AS no_of_job, ds AS dates 
FROM job_data 
GROUP BY ds 
ORDER BY no_of_job DESC;

समाधान 1

आप ऐसा नहीं कर सकते: आपके डेटा में कोई टाइमस्टैम्प शामिल नहीं है जो आपको उस दिन के समय की पहचान करने की अनुमति देगा जब कार्य की समीक्षा की गई थी, और चूंकि “प्रति घंटा प्रति दिन” उस जानकारी के बिना एक आवश्यकता है, इसलिए आप इसे पूरा करने के लिए कुछ नहीं कर सकते हैं यह।

मुझे संदेह है कि या तो आपका डेटा डिज़ाइन त्रुटिपूर्ण है – जिसका अर्थ है कि आपका डेटा इस कार्य के लिए बेकार है – या कार्य खराब तरीके से बताया गया है और आपको जिसने भी आपको यह दिया है, उसके पास वापस जाना चाहिए और सटीक आवश्यकता को स्पष्ट करना चाहिए, अधिमानतः नमूना इनपुट और आउटपुट के साथ डेटा।

समाधान 2

यह MYSQL में ठीक काम करता है, बशर्ते डेटा अधूरा हो सकता है, लेकिन मैंने यह उम्मीद की है कि यह किसी प्रोजेक्ट आदि के लिए काम करेगा!!

एसक्यूएल
SELECT ds AS Dated, COUNT(job_id) AS job_review_counts,  ROUND(COUNT(job_id)/(SUM(time_spent)/(60*60)),2) AS job_review_per_hour_each_day  
FROM job_data
WHERE ds BETWEEN '01-11-2020' AND '30-11-2020'
GROUP BY ds 
ORDER BY ds


MySQL में आउटपुट

11/25/2020 1 80.00
11/26/2020 1 64.29
11/27/2020 1 34.62
11/28/2020 2 218.18
11/29/2020 1 180.00
11/30/2020 2 180.00

コメント

タイトルとURLをコピーしました