Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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查询来选择只有0个产品的用户?_Mysql_Sql_Database_Data Analysis - Fatal编程技术网

Mysql 我可以使用什么SQL查询来选择只有0个产品的用户?

Mysql 我可以使用什么SQL查询来选择只有0个产品的用户?,mysql,sql,database,data-analysis,Mysql,Sql,Database,Data Analysis,我正在插入一个包含大量数据的CSV文件,格式与下面的屏幕截图类似 我当前正在尝试创建一个SQL查询,该查询将选择具有以下属性的所有用户: “数据”列(E列)中的0 “最小”列中的0(F列) “金额”列中的1(G列) 对于该用户的每一行,上述三项都必须为真。 因此,如果查询是在下面的数据上运行的,则只会选择“Steven Jones”而不是“Alice Baker”,因为“Steven Jones”是他所有的行都有我要查找的0,0,1的唯一用户 SQL数据库由一个具有以下字段名的表组成 有人能

我正在插入一个包含大量数据的CSV文件,格式与下面的屏幕截图类似

我当前正在尝试创建一个SQL查询,该查询将选择具有以下属性的所有用户:

  • “数据”列(E列)中的0
  • “最小”列中的0(F列)
  • “金额”列中的1(G列)
  • 对于该用户的每一行,上述三项都必须为真。
因此,如果查询是在下面的数据上运行的,则只会选择“Steven Jones”而不是“Alice Baker”,因为“Steven Jones”是他所有的行都有我要查找的0,0,1的唯一用户

SQL数据库由一个具有以下字段名的表组成

有人能告诉我创建查询的正确方向吗?多谢各位


使用
拥有
分组依据

select userId
from table t
group by userId
having min(data) = 0 and max(data) = 0 and
       min(`min`) = 0 and max(`min`) = 0 and
       min(amt) = 1 and max(amt) = 1;

如果我理解正确的话,我们试图找到一组人,他们没有数据为非零、min为非零、amt为非1的行

所以


每次运行sum(data)=0和sum(
min
)=0会比运行min/max快吗?它应该是=0而不是=9,但我不能提交编辑,因为它只有1个字符:DPerfect,太简单了!:(@franglais…我修复了代码。至于
sum()
min()
max()
的比较。假设值总是非负的,那么求和就行了。额外的聚合函数应该有最小的开销,除了
count(distinct)之外
。没有考虑过负面因素,狡猾
SELECT DISTINCT(userid)
FROM mytable t1
WHERE NOT EXISTS(
    SELECT 1 
    FROM mytable t2
    WHERE t1.userid = t2.userid
     AND  t2.data != 0
     AND  t2.min != 0
     AND  t2.AMT != 1
)