Почему MySQL разрешает “группу” запросами БЕЗ агрегатных функций?

на winxpsp2 w/wmp10 jre6.0_7

Desktop.open (uriToAviOrMpgFile)

Это заставляет порожденный поток бросать непойманный Throwable и горячую точку катастрофических отказов

YMMV

59
задан dreftymac 17 September 2019 в 00:33
поделиться

2 ответа

Я считаю, что это было сделано для случая, когда группировка по одному полю будет означать, что другие поля также группируются:

SELECT user.id, user.name, COUNT(post.*) AS posts 
FROM user 
  LEFT OUTER JOIN post ON post.owner_id=user.id 
GROUP BY user.id

В этом случае имя пользователя всегда будет уникальным для каждого пользователя. id, поэтому удобно не требовать user.name в предложении GROUP BY (хотя, как вы говорите, существует определенная область для проблем)

20
ответ дан 24 November 2019 в 18:33
поделиться

К сожалению, почти все разновидности SQL имеют ситуации, когда они нарушают ANSI и дают непредсказуемые результаты.

Мне кажется, что они намеревались рассматривать его как функцию «ПЕРВЫЙ (Y)» это есть во многих других системах.

Более чем вероятно, что эта конструкция - это то, о чем команда MySQL сожалеет, но не хочет прекращать поддержку из-за количества приложений, которые могут выйти из строя.

Роб

2
ответ дан 24 November 2019 в 18:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: