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

MySQL क्वेरी उपयोगकर्ता लॉगिन समय प्रति घंटे के रूप में समूह डेटा के लिए और हाल के घंटे में लॉग इन किए गए उपयोगकर्ताओं के रिकॉर्ड प्राप्त करें?

<घंटा/>

आप इसके लिए जॉइन कंडीशन वाली सबक्वायरी का उपयोग कर सकते हैं। वाक्य रचना इस प्रकार है -

अपना TablevariableName चुनें।*FROM(से MAX(UNIX_TIMESTAMP(yourDateTimeColumnName) चुनें) किसी भी उपनाम के रूप में getLatestHour GROUP by HOUR(UserLoginDateTime)) yourOuterVariableNameJOIN yourTableName YourTablevariableNameon UNIX_TIMESTAMP(yourDateTimeVColumnEDATE); पूर्व> 

उपरोक्त सिंटैक्स और प्राप्त किए जाने वाले परिणाम को समझने के लिए, आइए एक तालिका बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल बनाएं getLatestHour -> (-> UserId int, -> UserName varchar(20), -> UserLoginDateTime datetime -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.68 सेकंड)

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

mysql> getLatestHour मान (100, 'जॉन', '2019-02-04 10:55:51') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.27 सेकंड) mysql> getLatestHour मानों में डालें (101,' लैरी','2019-02-04 12:30:40');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)mysql> getLatestHour मान (102,'कैरोल','2019-02-04 12:40) में डालें:46'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> getLatestHour मान (103, 'डेविड', '2019-02-04 12:44:54') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) )mysql> getLatestHour मान (104, 'बॉब', '2019-02-04 12:47:59') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड)

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

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

निम्न आउटपुट है -

<पूर्व>+----------+----------+---------------------+| उपयोगकर्ता आईडी | उपयोगकर्ता नाम | UserLoginDateTime |+-----------+----------+---------------------+| 100 | जॉन | 2019-02-04 10:55:51 || 101 | लैरी | 2019-02-04 12:30:40 || 102 | कैरल | 2019-02-04 12:40:46 || 103 | डेविड | 2019-02-04 12:44:54 || 104 | बॉब | 2019-02-04 12:47:59 |+----------+----------+--------------------- ---+5 पंक्तियाँ सेट में (0.00 सेकंड)

यहां प्रति घंटे डेटा समूहित करने और हाल के घंटे का रिकॉर्ड प्राप्त करने की क्वेरी है। क्वेरी इस प्रकार है -

mysql> सेलेक्ट tbl1.* -> FROM (-> सेलेक्ट MAX(UNIX_TIMESTAMP(UserLoginDateTime)) AS m1 -> FROM getLatestHour -> GROUP BY HOUR (UserLoginDateTime) -> ) var1 -> जॉइन getLatestHour tbl1 -> UNIX_TIMESTAMP पर (UserLoginDateTime) =var1.m1 -> जहां दिनांक (UserLoginDateTime) ='2019-02-04';

निम्न आउटपुट है -

<पूर्व>+----------+----------+---------------------+| उपयोगकर्ता आईडी | उपयोगकर्ता नाम | UserLoginDateTime |+-----------+----------+---------------------+| 100 | जॉन | 2019-02-04 10:55:51 || 104 | बॉब | 2019-02-04 12:47:59 |+----------+----------+--------------------- ---+2 पंक्तियाँ सेट में (0.05 सेकंड)
  1. नामों के आधार पर समूहबद्ध करने के लिए MySQL क्वेरी और एक नए कॉलम में गिनती प्रदर्शित करें

    COUNT () विधि के साथ GROUP BY का उपयोग करें। GROUP BY के साथ नामों को समूहित करें और COUNT () विधि का उपयोग करके गिनें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(30));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.63 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल वै

  1. समसामयिक कॉलम में 1 मानों के आधार पर डेटा को एक पंक्ति में समूहित करने और डेटा रखने के लिए MySQL क्वेरी?

    इसके लिए GROUP_CONCAT() का इस्तेमाल करें। केवल 1 मानों के लिए, MySQL WHERE क्लॉज के साथ काम करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(PlayerName varchar(40), PlayerStatus tinyint(1));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.60 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डे

  1. अंतिम निर्मित तालिका नाम (सबसे हाल का) प्राप्त करने के लिए MySQL क्वेरी?

    इसके लिए आप INFORMATION_SCHEMA.TABLES अवधारणा का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं। यह हमारी सबसे हाल की तालिका होगी - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.43 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - सम्मिलित करें DemoTable1323 मानों में (बॉब); क्वेरी ठीक है, 1 पंक्