Sql 某些行的最小值和最大值
我有一个数据集(myDataset.csv)如下所示Sql 某些行的最小值和最大值,sql,Sql,我有一个数据集(myDataset.csv)如下所示 User Value Alice 2 Alice 4 Alice 3 Bob 9 Bob 7 Bob 8 。。。对于许多其他用户/价值观,也是如此 我希望找到每个用户的最小值和最大值,但我很难通过SQL查询实现这一点 我将问题分解,只为一个用户(比如Alice)查询所有行以获取AliceDataset.csv,然后运行此查询以查找她的最小值和最大值。所以我知道如何得到最小
User Value
Alice 2
Alice 4
Alice 3
Bob 9
Bob 7
Bob 8
。。。对于许多其他用户/价值观,也是如此
我希望找到每个用户的最小值和最大值,但我很难通过SQL查询实现这一点
我将问题分解,只为一个用户(比如Alice)查询所有行以获取AliceDataset.csv,然后运行此查询以查找她的最小值和最大值。所以我知道如何得到最小值和最大值
SELECT MIN(AliceDataset.value), MAX(AliceDataset.value)
FROM AliceDataset
但是,我如何在myDataset.csv中的所有用户中循环,并为每个用户找到他们的最小值和最大值(甚至可能使用上面提供的查询代码)使用分组依据和聚合-这将为您提供用户方面的最小值和最大值
SELECT user, MIN(Value) as minval, MAX( Value) as maxval
FROM AliceDataset
group by user
使用分组和聚合-这将为您提供用户方面的最小值和最大值
SELECT user, MIN(Value) as minval, MAX( Value) as maxval
FROM AliceDataset
group by user
使用max()
和min()
函数,您必须使用group by来获取每个用户的最大值和最小值
select User , max(Value) mx_val,min(Value) min_val
from your_table
group by User
使用max()
和min()
函数,您必须使用group by来获取每个用户的最大值和最小值
select User , max(Value) mx_val,min(Value) min_val
from your_table
group by User
聚合函数主要用于返回单个值。如果要
选择任何具有聚合函数的列,则需要使用要在选择结果中添加的列名添加group by子句
因此,在您的情况下,您希望在结果中对value
使用聚合函数,并且还希望使用User
显示带值函数的结果,因此您需要使用User
添加子句group by
因此,查询将是:
select User,
max(Value) as "Maximum Value",
min(Value) as "Minimum Value"
from AliceDataset
group by User
注:
如果要在使用聚合函数时添加条件,则需要使用having
而不是where
例如:
select User,
max(Value) as "Maximum Value",
min(Value) as "Minimum Value"
from AliceDataset
group by User
having max(Value) > 3
聚合函数主要用于返回单个值。如果要选择任何具有聚合函数的列,则需要使用要在选择结果中添加的列名添加group by子句
因此,在您的情况下,您希望在结果中对value
使用聚合函数,并且还希望使用User
显示带值函数的结果,因此您需要使用User
添加子句group by
因此,查询将是:
select User,
max(Value) as "Maximum Value",
min(Value) as "Minimum Value"
from AliceDataset
group by User
注:
如果要在使用聚合函数时添加条件,则需要使用having
而不是where
例如:
select User,
max(Value) as "Maximum Value",
min(Value) as "Minimum Value"
from AliceDataset
group by User
having max(Value) > 3
你用的是什么产品?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加一个“postgresql
”、oracle
、sqlserver
、db2
”、…可能是@a_horse_的重复项,名称为“\u no\u”。我正在使用的data.world具有sql查询工具。我刚才试着查看它使用的是哪种DBMS,但我不太确定该如何查找,您使用的是哪种产品?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加一个“postgresql
”、oracle
、sqlserver
、db2
”、…可能是@a_horse_的重复项,名称为“\u no\u”。我正在使用的data.world具有sql查询工具。我刚才试着查看它使用了哪些DBMS,但我不太确定该如何查找