1
같은 테이블의 다른 결과를 하나의 큰 결과로 결합하고 싶습니다.mysql이 같은 테이블 다른 결과 집합에 합치다
SELECT host_name,stats_avgcpu,stats_avgmem,stats_avgswap,stats_avgiowait
FROM sar_stats,sar_hosts,sar_appgroups,sar_environments
WHERE stats_host = host_id
AND host_environment = env_id
AND env_name = 'Staging 2'
AND host_appgroup = group_id
AND group_name = 'Pervasive'
AND DATE(stats_report_time) = DATE_SUB(curdate(), INTERVAL 1 DAY)
SELECT AVG(stats_avgcpu),AVG(stats_avgmem),AVG(stats_avgswap),AVG(stats_avgiowait)
FROM sar_stats
WHERE stats_id = "stat_id of the first query" and DATE(stats_report_time)
BETWEEN DATE_SUB(curdate(), INTERVAL 8 DAY) and DATE_SUB(curdate(), INTERVAL 1 DAY)
SELECT AVG(stats_avgcpu),AVG(stats_avgmem),AVG(stats_avgswap),AVG(stats_avgiowait)
FROM sar_stats
WHERE stats_id = "stat_id of the first query" and DATE(stats_report_time)
BETWEEN DATE_SUB(curdate(), INTERVAL 31 DAY) and DATE_SUB(curdate(), INTERVAL 1 DAY)
원하는 출력
host_name|stats_avgcpu|stats_avgmem|stats_avgswap|stats_avgiowait|7daycpuavg|7daymemavg|7dayswapavg|7dayiowaitavg|30daycpuavg|30daymemavg|....etc
SQL 바이올린 http://sqlfiddle.com/#!8/4930b/3
당신이 작업을 만든 경우가 쉬울 것 [SQL Fiddle] (http://sqlfiddle.com/)에서 DDL 및 DML로 모델링하십시오. 이 시점에서 우리는 각 테이블에서 어떤 데이터가 오는지 알 수 없습니다. sql 바이올린을 만들지 않으면 최소한 테이블 구조와 샘플 데이터를 제공하십시오. – Taryn