Forum Webscript.Ru
Общие => Базы данных => Тема начата: Don_Anton от 01 Декабря 2003, 20:54:51
-
Есть таблица HOSTS в базе на MySQL .
ip browser os language
2 MSIE 6.0
4 MSIE 5.0
5 MSIE 6.0
7 MSIE 4.0
3 MSIE 4.0
1 MSIE 6.0
9 MSIE 5.0
необходимо выбрать число разных браузеров:
у меня есть запрос
SELECT browser, COUNT(*) from HOSTS GROUP BY browser
получаю
MSIE 4.0 2
MSIE 5.0 2
MSIE 6.0 3
а как сделать, чтобы результат был отсортирован по количесвту браузеров, т.е.
MSIE 6.0 3
MSIE 4.0 2
MSIE 5.0 2
??? конечно в одно запросе
-
order by ip desc
-
order by 2 desc
вроде
-
2Макс
Точно, по-мом нельзя указывать столбцы, которых нет в списке выбираемых. Или мона так:
SELECT browser, COUNT(*) AS cnt from HOSTS GROUP BY browser ORDER BY cnt DESC
-
metton
одна из прелестей программирования в том, что здесь все можно попробовать самому, поэкспериментировать. Сделай тестовую таблицу и попробуй похожий запрос.
http://www.mysql.com/doc/ru/SELECT.html
-
В итоге так:
SELECT browser, os, COUNT(*) AS cnt from HOSTS GROUP BY os ORDER BY cnt ASC
И даже так:
SELECT browser, os, COUNT(*) from HOSTS GROUP BY os ORDER BY ip ASC
Хм... Причём второй запрос глючит php_my_admin-а. Выдаётся ошибка
Warning: eregi(): REG_BADRPT:srepetition-operator operand invalid in e:\\internet\\home\\localhost\\www\\php_my_admin\\libraries\\display_tbl.lib.php on line 551
хотя и запрос успешно выполняется - результаты показываются...
Бред какой-то... Если изменить этот "глючный" запрос на
SELECT browser, os, COUNT(*) AS cnt from HOSTS GROUP BY os ORDER BY ip ASC
то ошибка не выдаётся...
-
metton
эту ошибку выдает phpMyAdmin (возможно глюк в нем) а не mysql.
Из консоли пробовал запрос выполнять ?
-
2Макс
Да я понял, что phpMyAdmin.
Проверил в консоли - оба последних запроса выполняются нормально. Что и неудивительно. Возможно, phpMyAdmin парсит запросы перед их выполнением, и глюк - в парсере.