Mysql 需要有一个sql查询,该查询返回除只有零的数据外的所有数据
我有以下两个表格: 我需要在以下条件下从数据表中获取所有行: -我不希望一个id的所有值都为0的行 -我希望从主机表中检索到相应的主机名,而不是ip地址 我尝试了以下查询:Mysql 需要有一个sql查询,该查询返回除只有零的数据外的所有数据,mysql,sql,Mysql,Sql,我有以下两个表格: 我需要在以下条件下从数据表中获取所有行: -我不希望一个id的所有值都为0的行 -我希望从主机表中检索到相应的主机名,而不是ip地址 我尝试了以下查询: select time, hostname , id , value from data , hosts where hosts.ip_address = data.host group by time,id having avg(value) <> 0; 选择时间、主机名、id、数据值、hosts whe
select time, hostname , id , value from data , hosts where hosts.ip_address = data.host group by time,id having avg(value) <> 0;
选择时间、主机名、id、数据值、hosts where hosts.ip_address=data.host group by time,id的平均值为0;
但这不是我想要的。
预期结果是:
你试过这个吗
select d.time, h.hostname , d.id , d.value from data d join hosts h where
h.ip_address = d.host group by d.time,d.id having avg(value) <> 0;
从数据中选择d.time、h.hostname、d.id、d.value d连接主机h,其中
h、 ip_address=d.host group by d.time,d.id的平均值为0;
我希望这对您有所帮助,我用您的原始数据对此进行了测试
select [time]
,hostname
,id
,value
from @data as d
left join @host h on d.host=h.ip_address
where id not in (select id from @data where value=0 group by id having
count(value)>1)
不知道你在问什么。你能添加一个模型表来显示你想要的结果吗?