![]() |
1
16
我认为这是为了处理这样一种情况,即按一个字段分组意味着其他字段也将被分组:
在这种情况下,user.name对于每个user.id始终是唯一的,因此在
|
![]() |
3
2
不幸的是,几乎所有的SQL变体都有破坏ANSI的情况,并且会产生不可预知的结果。 在我看来,他们打算把它当作许多其他系统所具有的“第一(y)”功能来对待。 更可能的是,这个构造是MySQL团队遗憾的事情,但不想因为应用程序的数量而停止支持。 抢劫 |
![]() |
4
1
当您使用group by而不使用聚合函数时,mysql认为这是一个单独的列。使用其他选项,您要么让整个结果是不同的,要么必须使用子查询等。问题是结果是否真的是可预测的。 还有,好消息在 this thread . |
![]() |
5
0
从我在mysql参考页面上看到的内容来看,它说: “通过避免不必要的列排序和分组,可以使用此功能获得更好的性能。但是,这主要在以下情况下有用:没有在group by中命名的每个非聚合列中的所有值对于每个组都是相同的。” 我建议您阅读本页(链接到MySQL参考手册): http://dev.mysql.com/doc/refman/5.5/en//group-by-extensions.html |
![]() |
6
-1
它实际上是一个非常有用的工具,当您按字段分组时,所有其他字段都不必在聚合函数中。您可以操作返回的结果,只需先对其排序,然后再对其进行分组即可。例如,如果我想获取用户登录信息,并且我想查看用户上次登录的时间,我会这样做。 桌子
用户登录历史记录对于一个用户有多行,因此如果我加入用户,它将返回多行。因为我只对最后一个条目感兴趣,所以我会这样做的
这将返回一行,其中包含用户名称和该用户上次登录的时间。 |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |