Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कम से कम फ़ंक्शन के परिणाम का कॉलम नाम कैसे प्राप्त करें?

आप एक case का उपयोग कर सकते हैं कथन:

CASE
WHEN LEAST(q1, q2, q3, q4) = q1 THEN 'q1'
WHEN LEAST(q1, q2, q3, q4) = q2 THEN 'q2'
WHEN LEAST(q1, q2, q3, q4) = q3 THEN 'q3'
ELSE 'q4'
END as minQuestion

(नोट:यह संबंधों के बारे में जानकारी खो देगा।)

यदि आप संबंधों में रुचि रखते हैं, तो एक सबक्वेरी और सरणियों के साथ उसके पास पहुंचना ट्रिक काम करेगा:

with employee as (
  select id, q1, q2, q3, q4
  from (values
    (1, 1, 1, 3, 4),
    (2, 4, 3, 1, 1)
  ) as rows (id, q1, q2, q3, q4)
)

SELECT least(q1, q2, q3, q4),
       array(
         select q
         from (values (q1, 'q1'),
                      (q2, 'q2'),
                      (q3, 'q3'),
                      (q4, 'q4')
              ) as rows (v, q)
         where v = least(q1, q2, q3, q4)
       ) as minQuestions
FROM employee e
WHERE e.id = 1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अद्वितीय अनुक्रमित मानों को ओवरराइड करना

  2. एसक्यूएल रिटर्न 1,0 नए वेरिएबल में केस के आधार पर जब स्टेटमेंट कई अन्य वेरिएबल का जिक्र करता है

  3. लापता भाषा फ़ॉलबैक के साथ mysql अनुवाद तालिका

  4. MySQL कॉलम नाम मानक / सम्मेलन

  5. PHP कोड में MYSQL सेट टाइमज़ोन