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

MySQL में SELECT IN रेंज कैसे करें?


रेंज क्वेरी के लिए IN() नहीं, BETWEEN उपयोग करें

IN() केवल सूचीबद्ध सटीक मानों से मिलान करता है, बीच के मानों को नहीं। रेंज (श्रेणी) क्वेरी के लिए BETWEEN या तुलना ऑपरेटर उपयोग करें।

समस्या: IN() रेंज नहीं करता

mysql> SELECT PortalId FROM demo WHERE PortalId IN(4, 10);
+----------+
| PortalId |
+----------+
| 4        |
| 10       |

केवल 4 और 10 मिलते हैं, 5-9 नहीं।

समाधान 1: BETWEEN (समावेशी)

mysql> SELECT PortalId FROM demo WHERE PortalId BETWEEN 4 AND 10;
+----------+
| PortalId |
+----------+
| 4        |
| 5        |
| 6        |
| 7        |
| 8        |
| 9        |
| 10       |
+----------+

समाधान 2: तुलना ऑपरेटर (असमावेशी/मिश्रित)

+----------+
| PortalId |
+----------+
| 5        |
| 6        |
| 7        |
| 8        |
| 9        |
+----------+

तुलना

ऑपरेटरसमावेशी?उपयोग
BETWEEN a AND bहाँ (a और b दोनों)सबसे पठनीय रेंज के लिए
>= AND <आंशिकआधा-खुला अंतराल
> AND <नहींखुला अंतराल
IN(val1, val2...)केवल सूचीबद्धविवेकपूर्ण मान, रेंज नहीं

दिनांक रेंज

WHERE order_date BETWEEN '2024-01-01' AND '2024-01-31'
WHERE order_date >= '2024-01-01' AND order_date < '2024-02-01'  -- बेहतर (इंडेक्स फ्रेंडली)

प्रदर्शन टिप

  • BETWEEN और >= AND < इंडेक्स का उपयोग कर सकते हैं
  • function(col) BETWEEN ... इंडेक्स उपयोग रोकता है
  • दिनांक रेंज के लिए col >= start AND col < end_next पैटर्न पसंदीदा
  1. - MySQL क्वेरी: दो तिथियों की सीमा के बीच सभी डेटा चुनें

    BETWEEN ऑपरेटर का उपयोग करके तिथि सीमा के बीच डेटा चुनना दो तिथियों की सीमा के बीच सभी डेटा चुनने के लिए MySQL BETWEEN का उपयोग करें: select * from yourTableName where yourColumnName between yourDateValue1 and yourDateValue2; पहले टेबल बनाएं: create table DemoTable1422 ( EmployeeId int NOT NULL AUT

  1. - MySQL में महीने के अनुसार रिकॉर्ड कैसे चुनें (SELECT by Month)?

    MySQL में MONTH() फ़ंक्शन का उपयोग करके दिनांक कॉलम से महीना निकालकर रिकॉर्ड फ़िल्टर किए जा सकते हैं। यह मासिक रिपोर्ट और विश्लेषण के लिए आवश्यक है। सिंटैक्स SELECT * FROM table_name WHERE MONTH(date_column) = month_number; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable (Ship

  1. - MySQL में सबसे अधिक सैलरी कैसे चुनें?

    MAX() फ़ंक्शन किसी कॉलम का अधिकतम मान प्राप्त करने के लिए: select MAX(yourColumnName) AS anyAliasName from yourTableName; उदाहरण insert into demo44(employee_name,employee_salary) values(John,3000), (David,4500), (Bob,3500), (Carol,5500), (Mike,4900); क्वेरी और परिणाम select MAX(employee_salary)