phpMyAdmin
 sql >> डेटाबेस >  >> Database Tools >> phpMyAdmin

SQL क्वेरी:3 में से अधिकतम 2 संख्या खोजें और इसे दूसरे कॉलम में संग्रहीत करें

निम्नलिखित पर विचार करें

mysql> create table test (sub1 int, sub2 int , sub3 int);
Query OK, 0 rows affected (0.11 sec)

mysql> insert into test values (20,30,40),(10,40,50),(30,10,20);
Query OK, 3 rows affected (0.08 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select * from test ;
+------+------+------+
| sub1 | sub2 | sub3 |
+------+------+------+
|   20 |   30 |   40 |
|   10 |   40 |   50 |
|   30 |   10 |   20 |
+------+------+------+

तो max1 . प्राप्त करने के लिए और max2 कॉलम से आप greatest का उपयोग कर सकते हैं समारोह।

select * ,
greatest(sub1,sub2,sub3) as max1 , 
greatest(
 case 
  when greatest(sub1,sub2,sub3) = sub1 then 0 else sub1 
 end,
 case 
  when greatest(sub1,sub2,sub3) = sub2 then  0 else sub2 
 end, 
 case 
  when greatest(sub1,sub2,sub3) = sub3 then 0 else sub3 
 end
) as max2 from test ;

यह आपको कुछ इस तरह देगा

+------+------+------+------+------+
| sub1 | sub2 | sub3 | max1 | max2 |
+------+------+------+------+------+
|   20 |   30 |   40 |   40 |   30 |
|   10 |   40 |   50 |   50 |   40 |
|   30 |   10 |   20 |   30 |   20 |
+------+------+------+------+------+

आप इसे अपडेट कमांड के लिए

. के रूप में उपयोग कर सकते हैं
update table_name
set 
max1 = greatest(sub1,sub2,sub3),
max2 = greatest(
 case 
  when greatest(sub1,sub2,sub3) = sub1 then 0 else sub1 
 end,
 case 
  when greatest(sub1,sub2,sub3) = sub2 then  0 else sub2 
 end, 
 case 
  when greatest(sub1,sub2,sub3) = sub3 then 0 else sub3 
 end
) 

अधिकतम 1 और अधिकतम 2 का औसत प्राप्त करने और

. के रूप में अपडेट करने के लिए
update table_name
set 
`average`
= ( 
   greatest(sub1,sub2,sub3)+
   greatest(
    case 
      when greatest(sub1,sub2,sub3) = sub1 then 0 else sub1 
    end,
    case 
      when greatest(sub1,sub2,sub3) = sub2 then  0 else sub2 
    end, 
    case 
      when greatest(sub1,sub2,sub3) = sub3 then 0 else sub3 
    end
     )
)/2 ; 



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. MySQL STR_TO_DATE फ़ंक्शन समय के लिए काम नहीं करता है

  2. MySQL में सेल्फ-रेफरेंशियल टेबल फील्ड्स

  3. किसी फ़ील्ड के डिफ़ॉल्ट मान का चयन कैसे करें

  4. मैं कैसे देख सकता हूं कि प्रश्नोत्तरी में उपयोगकर्ता की पसंद सही है या नहीं?

  5. विशिष्ट का उपयोग करते समय मूल्यों को कैसे सीमित करें