Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 需要有一个sql查询,该查询返回除只有零的数据外的所有数据_Mysql_Sql - Fatal编程技术网

Mysql 需要有一个sql查询,该查询返回除只有零的数据外的所有数据

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

我有以下两个表格:

我需要在以下条件下从数据表中获取所有行: -我不希望一个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 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)

不知道你在问什么。你能添加一个模型表来显示你想要的结果吗?