这听起来很愚蠢,但我从来不明白为什么聚合函数将返回的记录限制为 1。除了任何实际原因,这只是为了知道。
id
1
2
3
4
现在SELECT id FROM table
产量
id
1
2
3
4
如果我这样做SELECT id, id, 1 AS p FROM table
了
id id p
1 1 1
2 2 1
3 3 1
4 4 1
所以接下来我假设SELECT id, MAX(2) AS p FROM table
收益率
id p
1 2
2 2
3 2
4 2
但这实际上给出了:
id p
1 2
1)为什么聚合函数会发生这种情况而没有给出我的预期结果?
2) 我在 MySQL 和 SQLite 中发现了这一点。所有数据库的响应都一样吗?
3)出于好奇让我问,我如何查询以获得这样的视图:
id max(id)
1 4
2 4
3 4
4 4