sql - 在 SQLite 中混合属性和聚合函数

标签 sql sqlite

假设一个表具有两个数字属性:ab。例如:

CREATE TABLE Test(a,b);
INSERT INTO Test VALUES(2,20);
INSERT INTO Test VALUES(1,10);
INSERT INTO Test VALUES(3,30);

以下查询在某些 DBMS(例如 Oracle)中是非法的,但在 SQLite 中是合法的:

SELECT a, min(b) FROM Test;

对于上述数据,查询会生成一个由一行 (1, 10) 组成的表。换句话说,我们成功找到了与b的最小值对应的a的值。问题是:这种行为是否得到保证,或者 SQLite 有权任意选择 a 的值?

最佳答案

此行为是有保证的 since version 3.7.11 .

关于sql - 在 SQLite 中混合属性和聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509884/

相关文章:

sql - 选择一个不存在的额外空行

mysql - 带 OR 和 AND < 1 的 SQL 语句

sql - 在预期条件的上下文中指定的非 bool 类型的表达式,接近 '@orderwhere'

Android - 使用 SQLite 将远程数据库的内容复制到本地数据库

android - 将 ImageView ImageResource() 设置为等于数据库中列的值

c++ - 最后一个参数覆盖 SQLite 绑定(bind)中的先前参数

mysql - SQL 错误说 CO​​UNT 中的列不存在

mysql - 如何为MySQL调试复杂的嵌套SQL语句?

python - 如何创建动态过滤器?

python - 在 Python/SQLite 3 中格式化 SQL 查询输出