Справочное руководство по MySQL версии 4.1.1-alpha



6.4.1 Синтаксис оператора SELECT - часть 5


  • Параметр SQL_NO_CACHE запрещает MySQL хранить результат запроса в кэше запросов. See section 6.9 Кэш запросов в MySQL.

  • При использовании выражения GROUP BY строки вывода будут сортироваться в соответствии с порядком, заданным в GROUP BY, - так, как если бы применялось выражение ORDER BY для всех полей, указанных в GROUP BY. В MySQL выражение GROUP BY расширено таким образом, что для него можно также указывать параметры ASC и DESC:

    SELECT a,COUNT(b) FROM test_table GROUP BY a DESC

  • Расширенный оператор GROUP BY в MySQL обеспечивает, в частности, возможность выбора полей, не упомянутых в выражении GROUP BY. Если ваш запрос не приносит ожидаемых результатов, прочтите, пожалуйста, описание GROUP BY. See section 6.3.7 Функции, используемые в операторах GROUP BY.

  • При указании параметра STRAIGHT_JOIN оптимизатор будет объединять таблицы в том порядке, в котором они перечислены в выражении FROM. Применение данного параметра позволяет увеличить скорость выполнения запроса, если оптимизатор производит объединение таблиц неоптимальным образом. See section 5.2.1 Синтаксис оператора EXPLAIN (получение информации о SELECT).

  • Выражение LIMIT может использоваться для ограничения количества строк, возвращенных командой SELECT. LIMIT принимает один или два числовых аргумента. Эти аргументы должны быть целочисленными константами. Если заданы два аргумента, то первый указывает на начало первой возвращаемой строки, а второй задает максимальное количество возвращаемых строк. При этом смещение начальной строки равно 0 (не 1):

    Для совместимости с PostgreSQL MySQL также поддерживает синтаксис LIMIT # OFFSET #.

    mysql> SELECT * FROM table LIMIT 5,10; # возвращает строки 6-15

    Для того, чтобы выбрать все строки с определенного смещения и до конца результата, вы можете использовать значение -1 в качестве второго параметра:

    mysql> SELECT * FROM table LIMIT 95,-1; # Retrieve rows 96-last.

    Если задан один аргумент, то он показывает максимальное количество возвращаемых строк:

    mysql> SELECT * FROM table LIMIT 5; # возвращает первых 5 строк




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