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

किसी अन्य नाम का उपयोग करके ORDER में CASE पोस्टग्रेट करता है

इसे एक सबक्वेरी के रूप में लपेटने का प्रयास करें:

SELECT * 
FROM 
(
    SELECT users.id, 
        GREATEST(
             COALESCE(MAX(messages.created_at), '2012-07-25 16:05:41.870117'),
             COALESCE(MAX(phone_calls.created_at), '2012-07-25 16:05:41.870117')
        ) AS latest_interaction
        FROM users LEFT JOIN messages ON users.id = messages.user_id
        LEFT JOIN phone_calls ON users.id = phone_calls.user_id
        GROUP BY users.id
) Sub
ORDER BY
  CASE WHEN(
    latest_interaction > '2012-09-05 16:05:41.870117')
  THEN 0
  WHEN(latest_interaction > '2012-09-04 16:05:41.870117')
  THEN 2
  WHEN(latest_interaction > '2012-09-04 16:05:41.870117')
  THEN 3
  ELSE 4
  END
LIMIT 5;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql:विंडो फ़ंक्शंस का उपयोग करके समूह आकार पर सीमा के साथ समूह बनाना

  2. सभी प्रक्रियात्मक, उपयोगकर्ता परिभाषित कार्य प्राप्त करें

  3. हाउ नाउ () PostgreSQL में काम करता है

  4. शामिल होने के साथ पोस्टग्रेस्क्ल अपडेट

  5. हरोकू पर समसामयिक पोस्टग्रेज त्रुटि:होस्ट नाम <pg URL> को पते पर अनुवाद नहीं कर सका:नाम या सेवा ज्ञात नहीं है (PG::Error)