php - SQLite : GROUP BY without Aggregate

标签 php group-by sqlite2

我试图了解 GROUP BY 在 SQLite v2.8.17 上的一个奇怪行为

代码如下:

<?php
$selectMaxQuery = $this->_db->prepare('SELECT COUNT(*) AS c FROM (SELECT MAX(groupCode) FROM docs GROUP BY groupCode)');
$selectQuery = $this->_db->prepare('   SELECT COUNT(*) AS c FROM (SELECT     groupCode  FROM docs GROUP BY groupCode)');
$selectMaxQuery->exec();
$selectQuery->exec();
var_dump($selectMaxQuery->fetch()->c, $selectQuery->fetch()->c);

结果如下:

string(3) "614"
string(3) "797"

我在 Internet 上到处都说 GROUP BY 行为是将几行合并为一行。如果不使用聚合函数,它应该给我一个错误或为既不在 GROUP BY 中也不在聚合函数中的每一行选择一个随机值。

结果好像和我理解的不一样

有人可以解释一下我在这里缺少什么吗?

最佳答案

这是一个错误。

这是十多年前修复的; SQLite 2.8.17 于 2005 年发布。 您应该重新考虑您对软件的选择。

关于php - SQLite : GROUP BY without Aggregate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42862637/

相关文章:

PHP ftp_put() - "Cannot STOR."

mysql - 如何在 GROUP BY 子句上使用别名?

python - 将累积均值函数应用于分组对象

SQLite 无类型和 PRIMARY KEY 更改

sqlite - 如何在sqlite 2数据库表中添加列

php - 在谷歌地图 v3 API 上绘制区域多边形

php - 无法通过另一个类连接到数据库

Javascript函数停止其他函数的工作

python - pandas 条件 groupby 在一个组上

python - 如何在 Windows 上使用 Python 将 SQLite 2 转换为 SQLite3?