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

क्या MySQL क्लॉज द्वारा SELECT और HAVING/GROUP BY के बीच सामान्य उप-अभिव्यक्तियों को समाप्त करता है? इसका परीक्षण कैसे करें?

<घंटा/>

परीक्षण करने के लिए, स्लीप () फ़ंक्शन का उपयोग करें।

केस 1 -

वाक्य रचना इस प्रकार है -

अपना कॉलमनाम+स्लीप(आपका इंटेगरवैल्यू) अपनेटेबलनामग्रुप से अपने कॉलमनाम+स्लीप(yourIntegerValue);;
से चुनें

केस 2 - आप दूसरे सिंटैक्स का उपयोग कर सकते हैं जो इस प्रकार है -

अपना कॉलमनाम+स्लीप(आपका इंटेगरवैल्यू) किसी भी अन्य नाम के रूप में चुनें, अपने टेबलनाम समूह से अपने उपनाम से;

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

mysql> टेबल स्लीपडेमो बनाएं -> (-> वैल्यू इंट ->);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.25 सेकंड)

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

mysql> स्लीपडेमो वैल्यू (40) में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> स्लीपडेमो वैल्यू (60) में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> स्लीपडेमो वैल्यू में डालें ( 60);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड)

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

mysql> स्लीपडेमो से *चुनें;

यहाँ आउटपुट है -

<पूर्व>+----------+| मूल्य |+----------+| 40 || 60 || 60 |+----------+3 पंक्तियाँ सेट में (0.00 सेकंड)

यहां SELECT और HAVING/GROUP BY क्लॉज के बीच सामान्य सब एक्सप्रेशन को खत्म करने की क्वेरी दी गई है।

केस 1 - क्वेरी इस प्रकार है -

mysql> सेलेक्ट वैल्यू+स्लीप(3) -> स्लीपडेमो से -> ग्रुप बाय वैल्यू+स्लीप(3);

आउटपुट इस प्रकार है -

<पूर्व>+----------------+| मूल्य+नींद(3) |+----------------+| 40 || 60 |+----------------+2 पंक्तियाँ सेट में (9.00 सेकंड)

उपरोक्त क्वेरी में प्रत्येक मान के लिए 9 सेकंड लगते हैं (3 सेकंड के लिए 40, 3 सेकंड के लिए 60, 3 सेकंड के लिए 60)।

केस 2 - क्वेरी इस प्रकार है -

mysql> सेलेक्ट वैल्यू+स्लीप(3) as v -> फ्रॉम स्लीपडेमो -> GROUP BY v;

आउटपुट इस प्रकार है -

<पूर्व>+----------+| वी |+------+| 40 || 60 |+------+2 पंक्तियाँ सेट में (9.00 सेकंड)
  1. एकल MySQL क्वेरी में GROUP BY, HAVING और ORDER BY का उपयोग करके किसी विशिष्ट श्रेणी के बीच योग वाले रिकॉर्ड कैसे प्रदर्शित करें?

    आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(20), ProductPrice int);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.70 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल (ग्राहक नाम, उत्पाद मूल्य) मान (डेविड, 1200) मे

  1. MySQL में शर्तों के साथ क्वेरी कैसे ऑर्डर करें और चुनें?

    निम्नलिखित वाक्य रचना है - अपनेTableName क्रम से yourColumnName=0,yourColumnName; . द्वारा चुनें * आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.80 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1348 मानों में डालें(89);क्वेरी ठीक है, 1 पंक्ति प्रभावि

  1. MySQL UNION SELECT और IN क्लॉज एक ही क्वेरी में

    आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.24 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1 मानों में डालें (210, एडम); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - DemoTable1 से * च