Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

एक MySQL तालिका में महीने के आधार पर रिकॉर्ड्स को चुनें और फ़िल्टर करें?

<घंटा/>

इसे हासिल करने के लिए आप ग्रुप बाय क्लॉज के साथ एग्रीगेट फंक्शन SUM() का इस्तेमाल कर सकते हैं।

आइए एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल बनाएं SelectPerMonthDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Price int, -> BuyDate datetime -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (2.34 सेकंड)

उदाहरण

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें, उनमें से एक खरीद की तारीख होगी। क्वेरी इस प्रकार है -

mysql> SelectPerMonthDemo (मूल्य, खरीद दिनांक) मान (600, date_add (अब (), अंतराल -1 महीने)) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.42 सेकंड) mysql> SelectPerMonthDemo (मूल्य, खरीद दिनांक) में डालें मान (600, date_add (अब (), अंतराल 2 महीने)); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.34 सेकंड) mysql> SelectPerMonthDemo (मूल्य, खरीद दिनांक) मान (400, अब ()) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> SelectPerMonthDemo (मूल्य, खरीद दिनांक) मानों में डालें (800, date_add (अब (), अंतराल 3 महीने)); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> SelectPerMonthDemo (मूल्य, खरीद दिनांक) में डालें ) मान (900, date_add (अब (), अंतराल 4 महीने)); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> SelectPerMonthDemo (मूल्य, खरीद दिनांक) मान (100, date_add (अब (), अंतराल 4 महीने में डालें) ));क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.22 सेकंड) mysql> SelectPerMonthDemo (मूल्य, खरीद दिनांक) मानों में डालें (1200, date_add (अब (), अंतराल -1 महीने)); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड) 

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> SelectPerMonthDemo से *चुनें;

आउटपुट

उत्पादों की कीमत और खरीद की तारीख को प्रदर्शित करने वाला आउटपुट निम्नलिखित है -

<पूर्व>+-----+--------+---------------------+| आईडी | कीमत | ख़रीद की तारीख |+-----+----------+---------------------+| 1 | 600 | 2019-01-10 22:39:30 || 2 | 600 | 2019-04-10 22:39:47 || 3 | 400 | 2019-02-10 22:40:03 || 4 | 800 | 2019-05-10 22:40:18 || 5 | 900 | 2019-06-10 22:40:29 || 6 | 100 | 2019-06-10 22:40:41 || 7 | 1200 | 2019-01-10 22:40:50 |+-----+----------+---------------------+7 पंक्तियों में सेट (0.00 सेकंड)

खरीद तिथि के आधार पर अलग-अलग महीनों के अनुसार रिकॉर्ड प्राप्त करने की क्वेरी यहां दी गई है -

mysql> महीने का नाम (खरीदारी की तारीख) को MONTHNAME के ​​रूप में चुनें, SelectPerMonthDemo से राशि (कीमत)-> महीने के नाम से समूह (खरीदारी की तारीख);

आउटपुट

<पूर्व>+-----------+---------------+| MONTHNAME | योग(कीमत) |+-----------+-----------+| जनवरी | 1800 || अप्रैल | 600 || फरवरी | 400 || मई | 800 || जून | 1000 |+-----------+---------------+5 पंक्तियाँ सेट में (0.07 सेकंड)

यदि आप महीने का नाम (केवल महीने की संख्या) नहीं चाहते हैं, तो निम्न क्वेरी का उपयोग करें -

mysql> SelectPerMonthDemo-> से महीने के हिसाब से महीने (खरीद की तारीख), योग (कीमत) का चयन करें-> महीने के हिसाब से समूह (खरीदारी की तारीख);

आउटपुट

<पूर्व>+---------------------+---------------+| महीना (खरीदारी की तारीख) | योग(कीमत) |+---------------------+---------------+| 1 | 1800 || 4 | 600 || 2 | 400 || 5 | 800 || 6 | 1000 |+---------------------+-----------+5 पंक्तियाँ सेट में (0.00 सेकंड)
  1. MySQL में वर्तमान दिनांक के दिन और महीने की तुलना में दिनांक रिकॉर्ड प्राप्त करें

    इसके लिए MONTH() और DAY() का इस्तेमाल करें। आइए पहले एक − . बनाएं ); इंसर्ट का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1429 मानों में डालें (2015-09-29); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) − . का चयन करके तालिका से सभी रिकॉर्ड प्रदर्शित करें DemoTable1429 से * चुनें; यह निम

  1. MySQL तालिका से वर्तमान दिनांक और दिनांक रिकॉर्ड के बीच अंतर ज्ञात करें

    अंतर खोजने के लिए, DATEDIFF () विधि का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.42 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1446 मान (2019-09-30) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) चयन कथन का उपयोग करके तालिका

  1. महीने के आधार पर एक MySQL तालिका से कुल का चयन करें

    इसके लिए आप GROUP BY MONTH() का प्रयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.55 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। DemoTable1628 मानों में डालें ( 2019-10-10,900);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.47 सेकंड) चयनित कथन का उपयोग कर