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

mysql एक ही तालिका में शामिल हों अलग परिणाम सेट

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

SELECT s.stats_host,
  h.host_name,
  s.stats_avgcpu,
  s.stats_avgmem,
  s.stats_avgswap,
  s.stats_avgiowait,
  s7.7dayavgcpu,
  s7.7dayavgmem,
  s7.7dayavgswap,
  s7.7dayavgiowait,
  s30.30dayavgcpu,
  s30.30dayavgmem,
  s30.30dayavgswap,
  s30.30dayavgiowait
FROM sar_stats s
INNER JOIN sar_hosts h
  on s.stats_host = h.host_id
INNER JOIN sar_appgroups a
  on h.host_appgroup = a.group_id
  and a.group_name = 'Pervasive'
INNER JOIN sar_environments e
  on h.host_environment = e.env_id
  and e.env_name = 'Staging 2'
LEFT JOIN
(
  SELECT s.stats_host,
    AVG(s.stats_avgcpu) AS '7dayavgcpu',
    AVG(s.stats_avgmem) AS '7dayavgmem',
    AVG(s.stats_avgswap) AS '7dayavgswap',
    AVG(s.stats_avgiowait) AS '7dayavgiowait'
  FROM sar_stats s
  WHERE DATE(stats_report_time) BETWEEN DATE_SUB(curdate(), INTERVAL 8 DAY) AND DATE_SUB(curdate(), INTERVAL 1 DAY)
  GROUP BY s.stats_host
) s7
  on s.stats_host = s7.stats_host
LEFT JOIN
(
  SELECT s.stats_host,
    AVG(s.stats_avgcpu) AS '30dayavgcpu',
    AVG(s.stats_avgmem) AS '30dayavgmem',
    AVG(s.stats_avgswap) AS '30dayavgswap',
    AVG(s.stats_avgiowait) AS '30dayavgiowait'
  FROM sar_stats s
  WHERE DATE(s.stats_report_time) BETWEEN DATE_SUB(curdate(), INTERVAL 31 DAY) AND DATE_SUB(curdate(), INTERVAL 1 DAY)
  GROUP BY s.stats_host
) s30
  on s.stats_host = s30.stats_host
WHERE DATE(s.stats_report_time) =  DATE_SUB(curdate(), INTERVAL 1 DAY);

देखें SQL Fiddle with Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइबरनेट और अपाचे डीबीसीपी का उपयोग करके MySQL के साथ कनेक्शन पूल समस्या

  2. चेकबॉक्स से क्वेरी

  3. मारियाडीबी गलत क्रम लेकिन MySQL में सही

  4. MySQL COS () फ़ंक्शन - MySQL में किसी संख्या की कोज्या लौटाएं

  5. gitlab धावक:mysqld:'/etc/mysql/conf.d/' की डीआईआर नहीं पढ़ सकता