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

एकाधिक पंक्तियों से MySQL शर्तें

हां, आपको इसे सबक्वायरी के साथ करने की ज़रूरत है, कुछ इस तरह से प्रयास करें (यदि आप चौथी पंक्ति को तीसरी पंक्ति में तारीख तक पहुंचने के लिए चाहते हैं):

SELECT  mo.AgentID, mo.date,
        @r AS 'LAG(date)',
        (case when @r<Date then 'YES' when @r is null then 'IS NULL' else 'NO' end) 'Is Bigger',
        (@r := Date) AS Date

FROM    (
        SELECT  m.*
        FROM    (
                SELECT  @_date = NULL
                ) variable,
                data m
        ORDER BY
                AgentID 
        ) mo
WHERE  (CASE WHEN @_date IS NULL OR @_date <> date THEN @r := NULL ELSE NULL END IS NULL)
        AND (@_date := date) IS NOT NULL

आप एक कार्यशील डेमो यहां देख सकते हैं

या आप इस क्वेरी को आजमा सकते हैं यदि आप चाहते हैं कि तीसरी पंक्ति की चौथी पंक्ति में तारीख तक पहुंच हो

SELECT AgentID,date,LEAD_date,concat(Difference,' days') FROM
(SELECT  mo.AgentID, 
        @r AS LEAD_date,
        DATEDIFF(@r,Date) as Difference,
        (@r := Date) AS Date

FROM    (
        SELECT  m.*
        FROM    (
                SELECT  @_date = NULL
                ) variable,
                data m
        ORDER BY
                AgentID,date desc 
        ) mo
WHERE  (CASE WHEN @_date IS NULL OR @_date <> date THEN @r := NULL ELSE NULL END IS NULL)
        AND (@_date := date) IS NOT NULL) T
order by AgentID,date;

आप एक कार्यशील डेमो यहां देख सकते हैं




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy JSON कॉलम - एक क्वेरी कैसे करें?

  2. SQLAlchemy में एक अहस्ताक्षरित पूर्णांक को कैसे परिभाषित करें?

  3. MySQL में एकाधिक मान अपडेट कर रहा है

  4. SQL अद्यतन और प्रतिस्थापन बदलें

  5. MySQL चयन के रूप में तालिका बनाएँ