П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 4186 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6860 раз(а).

Учебник HTML.
Просмотров 3803 раз(а).

Руководство по PHP5.
Просмотров 6101 раз(а).

Хостинг через призму DNS.
Просмотров 4950 раз(а).

Подборка текстов стандартных документов.
Просмотров 56345 раз(а).

Учебник PHP - Самоучитель
Просмотров 3801 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 8721 раз(а).

Внешние атаки...
Просмотров 4671 раз(а).

Учебник PHP.
Просмотров 3241 раз(а).

SSI в примерах.
Просмотров 247 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Реализация языка SQL в СУБД 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
    

    Вместо этого, используйте нечто вроде следующего (это хороший пример использования псевдонимов столбцов):

    SELECT user,MAX(salary) AS sum FROM users GROUP BY users HAVING sum > 10
    
  • LIMIT принимает один или два аргумента. Один аргумент задает максимальное число строк в результате. В случае двух аргументов этот максимум задает второй аргумент, а первый указывает смещение первой строки.
  • INTO OUTFILE 'filename' пишет результаты в файл. Файл не должен существовать на момент выполнения этой команды. См. раздел LOAD DATA INFILE для более подробной информации. Это может быть весьма опасной командой, если daemon запущен от имени root. Самое лучшее предоставить право доступа file только когда это абсолютно необходимо.
  • Вы можете использовать числовое значение в предложении ORDER BY для определения столбца, который Вас интересует. ТО ЕСТЬ, если Вы желаете провести сортировку второго столбца, определенного в вашем запросе SELECT, следует написать "ORDER BY 2;". Это также полезно, когда Вы использовали функцию в вашем SELECT.

    ПРИМЕР:

      SELECT Widget_Table.widget_id, Widget_Table.widget_name,
             Purchase_Order_Item.widget_id, sum(Purchase_Order_Item.quantity)
             FROM Widget_Table, Purchase_Order_Item
             WHERE Widget_Table.widget_id = Purchase_Order_Item.widget_id
             GROUP BY Widget_Table.widge t_name ORDER BY 4;
    

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru