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

mySQL दोहराई जाने वाली घटनाएँ क्वेरी

यहाँ कुछ ऐसा है जिसके साथ मैं खेल रहा हूँ (और यहाँ यह एक sqlfiddle के रूप में है कुछ नमूना डेटा के साथ)... इसके बारे में 100% निश्चित नहीं है, लेकिन इसे पिछले 7 दिनों के डेटा को हथियाना चाहिए। ध्यान दें कि मैं MySQL DATETIME का उपयोग कर रहा हूं बनाम पूर्णांक टाइमस्टैम्प, लेकिन आप इसे आसानी से परिवर्तित करने में सक्षम होना चाहिए (क्वेरी के परीक्षण के लिए स्ट्रिंग तिथियों का उपयोग करना बहुत आसान था)।

SELECT *
  FROM
    (SELECT 
      *, 
      CONCAT(YEAR(NOW()), '-', MONTH(NOW()), '-', DAY(start)) AS monthly,
      CONCAT(YEAR(NOW()), '-', MONTH(start), '-', DAY(start)) AS yearly
      FROM events
    ) tmp
  WHERE
    (
      (recurring = 'none')
      OR (recurring = 'daily')
      OR (recurring = 'weekly')
      OR (
        recurring = 'monthly'
        AND (
          (
            monthly >= NOW()
            AND monthly <= DATE_ADD(NOW(), INTERVAL 7 DAY)
          )
          OR (
            DATE_ADD(monthly, INTERVAL 1 MONTH) >= NOW()
            AND DATE_ADD(monthly, INTERVAL 1 MONTH) <= DATE_ADD(NOW(), INTERVAL 7 DAY)
          )
        )
      )
      OR (
        recurring = 'yearly'
        AND (
          (
            yearly >= NOW()
            AND yearly <= DATE_ADD(NOW(), INTERVAL 7 DAY)
          )
          OR (
            DATE_ADD(yearly, INTERVAL 1 YEAR) >= NOW()
            AND DATE_ADD(yearly, INTERVAL 1 YEAR) <= DATE_ADD(NOW(), INTERVAL 7 DAY)
          )
        )
      )
    )
    AND start <= NOW()
    AND (
      end IS NULL 
      OR end >= DATE_ADD(NOW(), INTERVAL 7 DAY)
    )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Illuminate\Database\QueryException को कैसे ठीक करें:SQLSTATE [HY000] [1044] उपयोगकर्ता के लिए प्रवेश निषेध

  2. sqlalchemy के माध्यम से निष्पादन करते समय एकाधिक कथन निष्पादित करने में सक्षम करें

  3. कोडनिर्देशक के सक्रिय रिकॉर्ड पैटर्न के साथ यूनियन क्वेरी

  4. mySQL त्रुटि 1040:बहुत अधिक कनेक्शन

  5. उपयोगकर्ता तालिका में कोई मेल खाने वाली पंक्ति नहीं मिल रही है