Mysql “当我们使用”时意味着什么;按1分组”;在SQL查询中
我遇到一个查询,其中它由Mysql “当我们使用”时意味着什么;按1分组”;在SQL查询中,mysql,sql,Mysql,Sql,我遇到一个查询,其中它由 select concat(21*floor(diff/21), '-', 21*floor(diff/21) + 20) as `range`, count(*) as `number of users` from new_table group by 1 order by diff; 这里,按1分组到底意味着什么?假设您有一个选择: SELECT name FROM employee GROUP BY 1; 无论发生什么情况,它都将按照select中给
select concat(21*floor(diff/21), '-', 21*floor(diff/21) + 20) as `range`, count(*) as
`number of users` from new_table group by 1 order by diff;
这里,
按1分组到底意味着什么?假设您有一个选择:
SELECT name FROM employee GROUP BY 1;
无论发生什么情况,它都将按照select中给出的第一列进行分组。
在这种情况下,“name”列被分组
因此,如果我们将上述声明替换为:
SELECT department FROM employee GROUP BY 1;
现在,我们将部门分组,而无需更改组中的“1”
编辑:(根据Stewart的要求)
如果我们在“雇员”表中有以下数据:
-- name --
Walt
Walt
Brian
Barney
一个简单的select将提供上面的所有行,而“GROUPBY 1”将产生一个Walt行:
通过分组方式输出:
-- name --
Walt
Brian
Barney
假设您有一个选择:
SELECT name FROM employee GROUP BY 1;
无论发生什么情况,它都将按照select中给出的第一列进行分组。
在这种情况下,“name”列被分组
因此,如果我们将上述声明替换为:
SELECT department FROM employee GROUP BY 1;
现在,我们将部门分组,而无需更改组中的“1”
编辑:(根据Stewart的要求)
如果我们在“雇员”表中有以下数据:
-- name --
Walt
Walt
Brian
Barney
一个简单的select将提供上面的所有行,而“GROUPBY 1”将产生一个Walt行:
通过分组方式输出:
-- name --
Walt
Brian
Barney
假设您有一个选择:
SELECT name FROM employee GROUP BY 1;
无论发生什么情况,它都将按照select中给出的第一列进行分组。
在这种情况下,“name”列被分组
因此,如果我们将上述声明替换为:
SELECT department FROM employee GROUP BY 1;
现在,我们将部门分组,而无需更改组中的“1”
编辑:(根据Stewart的要求)
如果我们在“雇员”表中有以下数据:
-- name --
Walt
Walt
Brian
Barney
一个简单的select将提供上面的所有行,而“GROUPBY 1”将产生一个Walt行:
通过分组方式输出:
-- name --
Walt
Brian
Barney
假设您有一个选择:
SELECT name FROM employee GROUP BY 1;
无论发生什么情况,它都将按照select中给出的第一列进行分组。
在这种情况下,“name”列被分组
因此,如果我们将上述声明替换为:
SELECT department FROM employee GROUP BY 1;
现在,我们将部门分组,而无需更改组中的“1”
编辑:(根据Stewart的要求)
如果我们在“雇员”表中有以下数据:
-- name --
Walt
Walt
Brian
Barney
一个简单的select将提供上面的所有行,而“GROUPBY 1”将产生一个Walt行:
通过分组方式输出:
-- name --
Walt
Brian
Barney
+首先回答@FabianBigler,我将添加以下内容:
说:
为输出选择的列可以使用列名、列别名或列位置按ORDER BY和GROUP BY子句引用。列位置是整数,以1开头
值得一提的是,这是非标准SQL,所以不要指望它能在其他品牌的SQL数据库上工作。+1到@FabianBigler首先回答,但我要补充一点:
说:
为输出选择的列可以使用列名、列别名或列位置按ORDER BY和GROUP BY子句引用。列位置是整数,以1开头
值得一提的是,这是非标准SQL,所以不要指望它能在其他品牌的SQL数据库上工作。+1到@FabianBigler首先回答,但我要补充一点:
说:
为输出选择的列可以使用列名、列别名或列位置按ORDER BY和GROUP BY子句引用。列位置是整数,以1开头
值得一提的是,这是非标准SQL,所以不要指望它能在其他品牌的SQL数据库上工作。+1到@FabianBigler首先回答,但我要补充一点:
说:
为输出选择的列可以使用列名、列别名或列位置按ORDER BY和GROUP BY子句引用。列位置是整数,以1开头
值得一提的是,这是非标准SQL,因此不要指望它能在其他品牌的SQL数据库上运行。您可以使用I suposse列的位置进行排序,这与group by相同,可能是通过select LIST上的第一列进行分组。您可以使用I suposse列的位置进行排序,这与group by相同,它可能是按选择列表上的第一列进行分组您可以按I列的位置排序suposse与group by相同,它可能是按选择列表上的第一列进行分组您可以按I列的位置排序suposse与group by相同,它可能是按select LIST上的第一列进行分组,但是group by
没有聚合函数意味着什么?@Stewart它只是对列进行分组。给我一分钟的时间,我在我的回答中附上一个例子看起来有点像distinct
@Stewart,我建议你仔细阅读定义(只是谷歌一下,真的),你会立即看到区别。在堆栈溢出时,它们之间已经存在大量解释。;-)但是,groupby
没有聚合函数意味着什么呢?@Stewart它只是对列进行分组。给我一分钟的时间,我在我的回答中附上一个例子看起来有点像distinct
@Stewart,我建议你仔细阅读定义(只是谷歌一下,真的),你会立即看到区别。在堆栈溢出时,它们之间已经存在大量解释。;-)但是,groupby
没有聚合函数意味着什么呢?@Stewart它只是对列进行分组。给我一分钟的时间,我在我的回答中附上一个例子看起来有点像distinct
@Stewart,我建议你仔细阅读定义(只是谷歌一下,真的),你会立即看到区别。在堆栈溢出时,它们之间已经存在大量解释。;-)但是,groupby
没有聚合函数意味着什么呢?@Stewart它只是对列进行分组。给我一分钟,我在我的回答中附上一个例子看起来有点像distinct
@Stewart我建议你仔细阅读定义(j