Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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,按组过滤_Mysql_Grouping_Where - Fatal编程技术网

MySQL,按组过滤

MySQL,按组过滤,mysql,grouping,where,Mysql,Grouping,Where,我正在开发一个MySQl数据库,并为我们的投资建立了一个类似跟踪系统的东西。设备的库存编号,收到设备的人,何时收到,何时归还。如果返回的列为null,则此人仍然拥有该设备 |InventoryNumber | user | receive | returned | +----------------+-------+------------+------------+ | X1 | Mark | 2017-01-01 | 2017-01-03 | | X1

我正在开发一个MySQl数据库,并为我们的投资建立了一个类似跟踪系统的东西。设备的库存编号,收到设备的人,何时收到,何时归还。如果返回的列为null,则此人仍然拥有该设备

|InventoryNumber | user  | receive    | returned   |
+----------------+-------+------------+------------+
| X1             | Mark  | 2017-01-01 | 2017-01-03 |
| X1             | Mark  | 2017-01-03 | null       |
| X2             | Frank | 2017-01-01 | null       |
现在我想知道哪些设备没有被使用。因此,首先我必须按InventoryNumber对
进行分组,但“显示”
null
。后记我必须过滤
,其中返回的值不为空

我知道如何分别做,但是在
分组之后,他总是选择第一行,而不是
空的那一行,所以我不能使用
WHERE


我希望您能理解我的问题,并能帮助我。

这将返回没有一行为空的所有数字。快速提醒:此处筛选器行包含筛选器组

SELECT InventoryNumber 
GROUP BY InventoryNumber 
HAVING SUM(returned IS NULL)=0

您可以将子查询与
一起使用,而不在
中,例如:

SELECT * 
FROM table
WHERE returned IS NOT NULL
AND InventoryNumber NOT IN (
   SELECT InventoryNumber 
   FROM table
   WHERE returned IS NULL
);
您可以尝试以下方法:

select
`InventoryNumber`
from
`track`
where
`returned` is NOT NULL
group by `InventoryNumber`;

到目前为止你能提供你的代码吗?如果您已经有了这些部分,那么应该可以使用一个子查询。我希望避免使用多个select语句。不过,谢谢你。