Это должно звучать глупо, но я никогда не понимал, почему агрегатные функции ограничивают записи, возвращенные 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
ваш третий пункт недействителен, так как он не дает результат, как я писал, вместо этого он дает (1,1), (2,2), .... – nawfal
Этот запрос [ссылка] (http://i46.tinypic.com/jp7m1h.png) дает этот результат [ссылка] (http://i47.tinypic.com/21e6vee.png). Это похоже на ваш желаемый результат. – Mononess
Запрос в pic будет делать, но мой запрос здесь: 'SELECT id, max (id)'. Это имеет значение, можно ли ответить соответственно? – nawfal