Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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 “当我们使用”时意味着什么;按1分组”;在SQL查询中_Mysql_Sql - Fatal编程技术网

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