作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我试图了解 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/
我是一名优秀的程序员,十分优秀!