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

mysql में समय के साथ चल रहे कुल रिकॉर्ड वृद्धि को पुनः प्राप्त करें

मैं एक समाधान का उपयोग कर समाप्त हुआ जिसमें एक स्टैक ओवरफ़्लो उत्तर के आधार पर चर शामिल हैं, यहां . यह समाधान प्रदान किए गए अन्य उत्तरों की तुलना में थोड़ा अधिक लचीला और कुशल प्रतीत होता है।

  SELECT u.date,
  @running_total := @running_total + u.count AS count
  FROM (
    SELECT COUNT(*) AS count, DATE_FORMAT(FROM_UNIXTIME(created), '%b %d %Y') AS date
    FROM {users}
    WHERE created >= :start_time AND created <= :end_time
    GROUP BY YEAR(FROM_UNIXTIME(created)), MONTH(FROM_UNIXTIME(created)), DAY(FROM_UNIXTIME(created))
  ) u
  JOIN (
    SELECT @running_total := u2.starting_total
    FROM (
      SELECT COUNT(*) as starting_total
      FROM {users}
      WHERE created < :start_time
    ) u2
  ) initialize;

ध्यान दें कि समूह द्वारा, दिनांक स्वरूपण, और श्रेणी की आवश्यकताएं केवल मेरे विशेष प्रोजेक्ट की विशिष्टताएं हैं। इस समाधान का अधिक सामान्य रूप (मूल प्रश्न के अनुसार) होगा:

  SELECT u.date,
  @running_total := @running_total + u.count AS count
  FROM (
    SELECT COUNT(*) AS count, DATE(FROM_UNIXTIME(created)) AS date
    FROM {users}
    GROUP BY date
  ) u
  JOIN (
    SELECT @running_total := 0
  ) initialize;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pivot . का उपयोग करके MySQL संस्करण 8.0.17 में विभिन्न तालिकाओं और विभिन्न पंक्तियों की संख्या (संघ) से पंक्ति से स्तंभ परिवर्तन

  2. MySQL :कई पंक्तियों पर लागू होने वाली शर्तों के साथ रिकॉर्ड का चयन करें

  3. पृष्ठ को पुनः लोड किए बिना तालिका में MySQL परिणाम दिखाएं

  4. सम्मिलित करें का उपयोग करके एकाधिक पंक्तियों को कैसे जोड़ें ... knex का उपयोग करके डुप्लीकेट कुंजी अद्यतन पर

  5. मैसकल त्रुटि:टेबलस्पेस को डंप करने का प्रयास करते समय एक निश्चित ('mysql.infoschema'@'localhost') के रूप में निर्दिष्ट उपयोगकर्ता मौजूद नहीं है