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

MySQL क्वेरी: रिकॉर्ड क्रमबद्ध करें लेकिन एक विशिष्ट नाम को ठीक करें और बाकी मानों (केवल कुछ) को यादृच्छिक रूप से प्रदर्शित करें

ORDER BY बूलियन एक्सप्रेशन और RAND() के साथ विशिष्ट पंक्ति को शीर्ष पर रखना

इसके लिए ORDER BY RAND() के साथ LIMIT का उपयोग करें। पहले टेबल बनाएं:

mysql> create table DemoTable1426 ( FirstName varchar(20) ); Query OK, 0 rows affected (0.59 sec)

रिकॉर्ड डालें:

mysql> insert into DemoTable1426 values('John'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1426 values('Adam'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1426 values('Robert'); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1426 values('David'); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1426 values('Sam'); Query OK, 1 row affected (0.13 sec)

सभी रिकॉर्ड देखें:

mysql> select * from DemoTable1426;

आउटपुट:

+-----------+ | FirstName | +-----------+ | John      | | Adam      | | Robert    | | David     | | Sam       | +-----------+ 5 rows in set (0.00 sec)

रिकॉर्ड क्रमबद्ध करें लेकिन एक विशिष्ट नाम को ठीक करें और बाकी मानों (केवल कुछ) को यादृच्छिक रूप से प्रदर्शित करने की क्वेरी:

mysql> select * from DemoTable1426 order by (FirstName='Robert') desc, RAND() limit 3;

परिणाम:

+-----------+ | FirstName | +-----------+ | Robert    | | Adam      | | David     | +-----------+ 3 rows in set (0.52 sec)

व्याख्या: (FirstName='Robert') एक बूलियन अभिव्यक्ति है जो TRUE (1) या FALSE (0) मूल्यांकन करती है। DESC के साथ, TRUE (1) पहले आता है, इसलिए 'Robert' शीर्ष पर होता है। शेष पंक्तियों के लिए RAND() यादृच्छिक क्रम देता है। LIMIT 3 केवल शीर्ष 3 पंक्तियां लौटाता है। यह "फीचर्ड" आइटम को शीर्ष पर रखते हुए बाकी को यादृच्छिक बनाने के लिए उपयोगी है।

  1. - MySQL में विशिष्ट कॉलम मान को प्राथमिकता देकर ऑर्डर करें और बाकी को आरोही क्रम में दिखाएं

    MySQL में विशिष्ट मान को शीर्ष पर रखकर कस्टम ऑर्डरिंग MySQL में आप बूलियन अभिव्यक्ति (Column = Value) DESC का उपयोग करके एक विशिष्ट मान को शीर्ष पर रख सकते हैं, उसके बाद शेष मानों को आरोही (या अवरोही) क्रम में रख सकते हैं। टेबल बनाना ); Query OK, 0 rows affected (1.68 sec) डेटा डालना INSERT INTO

  1. - MySQL में NULL और NOT NULL रिकॉर्ड वाले कॉलम से केवल NOT NULL मान प्रदर्शित करें

    इसके लिए आप IS NOT NULL प्रॉपर्टी का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1 values(2019-09-10); Query OK, 1 r

  1. - MySQL में विशिष्ट मान को फिक्स करके बाकी पंक्तियाँ रैंडम क्रम में कैसे दिखाएं?

    MySQL में किसी विशिष्ट मान वाली पंक्ति को शीर्ष पर फिक्स करके, शेष पंक्तियों को रैंडम क्रम में प्रदर्शित करने के लिए, ORDER BY में बूलियन एक्सप्रेशन और RAND() का संयोजन उपयोग करें। उदाहरण: मान 40 को शीर्ष पर रखें, बाकी रैंडम डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1921 (Number INT); डेट