【发布时间】:2012-05-14 12:09:53
【问题描述】:
这听起来应该很愚蠢,但我不明白为什么聚合函数将返回的记录限制为 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
【问题讨论】:
标签: sql select limit aggregate-functions