Документация на MySQL


         

Групповые функции в операторе select:


Следующие функции могут быть использованы в предложении GROUP:

AVG() Среднее для группы GROUP.
SUM() Сумма элементов GROUP.
COUNT() Число элементов в GROUP.
MIN() Минимальный элемент в GROUP.
MAX() Максимальный элемент в GROUP.

Здесь MIN() и MAX() могут принимать строку или число в качестве аргумента. Эти функции не могут использоваться в выражении, хотя их параметр может быть выражением:

ПРИМЕР: "SUM(value/10)" нормально, но вот "SUM(value)/10" уже нет!

  • Строки автоматически конвертируются в числа и наоборот по мере необходимости (прямо как в perl). При использовании операторов = <> <= >= < > как в инструкции WHERE, левая сторона определяет, выполняется ли тест с числами или со строками. Все сравнения строк независимы от регистра (ISO8859-1).

ПРИМЕР:

"a" < "b" ; Сравнение строк "a" < 0 ; Сравнение строк 0 < "a" ; Сравнение чисел a < 5 ; Если поле имеет тип CHAR, то сравниваются строки, ; иначе сравниваются числа.

Если надо учитывать регистр, используйте REGEXP в HAVING.

  • Имя столбца не должно иметь префикса таблицы, если данное имя столбца уникально.
  • В LIKE выражения % и _ могут предваряться символом \ для получения символьного выражения.
  • DATE является строкой с одним из синтаксисов:
    • YYMMDD (Год считается 2000, если YY < 70)
    • YYYYMMDD
    • YY.MM.DD Здесь '.' может быть любым нецифровым разделителем
    • YYYY.MM.DD Здесь '.' может быть любым нецифровым разделителем
    • IFNULL() и IF() возвращает число или строку в зависимости от ситуации, в которой использованы.
    • Order и group столбец может быть именем столбца, его псевдонимом или номером в операторе SELECT.
    • HAVING может принимать в качестве аргумента любые поля или псевдонимы в select_expression. Он применяется последним перед передачей данных клиенту без какой-либо оптимизации. Не используйте его для элементов из предложения WHERE.
    • Замечание: Вы не можете написать:

      SELECT user,MAX(salary) FROM users GROUP BY users HAVING max(salary)>10



      Содержание  Назад  Вперед