ято значит min(0) я понимаю выбирать минимальное значение из столбца, но а если ноль, из чего будет братся минимальное значение???
есть таблица с рекордами и запрос PHP: SELECT `name`,`map`,COUNT(`name`) AS `records_count` FROM `records` GROUP BY `name` ORDER BY `records_count` DESC и на выходе например: Player1 123 рекордов Player2 80 рекордов Player3 14 рекордов все работает, но нужно чтобы COUNT(`name`) считало только для первых 15 записей для карты (map колонка), сейчас выводит общее кол-во записей, знаю что нужно использовать подзапрос но не получается, второй час бьюсь(
Имеются 2 таблицы account_login и user . в account_login лежат passwd и idUser. В user лежат email и idUser. С помощью запроса что ниже получается только вытащить для одного ID пасс и мыло. КАк сделать так чтоб для всей базы. ну или самому указать диапазон по 50к к примеру... и возможно ли сразу делать дамп. с шелла.?? SELECT account_login.passwd as account_login, user.email as email FROM account_login, user WHERE account_login.idUser=ID AND user.idUser=account_login.idUser
Code: select a.idUser, a.passwd, b.email from account_login a inner join user b on b.idUser = a.idUser
Cпасибо за ответ. другая проблема появилась..( загрузилось около 400к строк. (Опера тупила ппц.) а дальше просто остановилась... если запустить заново то результат не изменится. Можно ли с определенной строки (idUser) продолжить базу собирать... база на 2.8кк... или подскаижте чем 2 таблицы по 500мб можно на своем компе открыть.?
Ну так явно указать, откуда начинать выборку select a.idUser, a.passwd, b.email from account_login a inner join user b on b.idUser = a.idUser where a.idUser > [N] А зачем её на компе открывать? Сразу импортируй её в mysql, потом, например, через phpmyadmin смотри. Ну или блокнотом
Ну так в браузере она не полностью открылась ) зависла и перестала прогружаться)) а как через hphmyadmin открыть .sql файл весом в 500мб? у меня там порог выставлен на 2 мб. больше не хочет). И спасибо за ответ.
Не знаю где лучше спросить, тут или php. Задача такая - мне надо открыть таблицу, провести некоторые действия над всеми ее ячейками с помощью пхп функции, и назад записать Нужен алгоритм. Как я понимаю, сначала открыть, получить массив данных, обработать, записать. Код примерно такой: Code: $db = mysql_connect($mshost,$mslog,$mspas) or die (mysql_error()); mysql_select_db($msdb,$db); $sql = "SELECT * FROM `table_name` WHERE `id`=100"; //для отладки,1запись $q = mysql_query($sql,$db); $arr_data = mysql_fetch_row($q); ..далее обрабатываю массив arr_data . Теперь собственно вопрос - как мне записать этот массив именно туда, откуда он был взят? Т.е. в ту же самую строку в базе данных, чтобы данные оказались в тех же ячейках.
Спасибо, я знаю про UPDATE. Я не понимаю, как сделать, чтобы запись была в те же ячейки. Ну смотрите - я получаю с таблицы массив, там допустим Id=1,id_mess=23,id_user=еще чтото, ит ак далее. Провожу обработку над 2-3 полями (текстовые). Как мне их записать именно туда, откуда были взяты?
Flisk если ID - первичный ключ, то обновление вы должны проводить для строки в с этим ID, имена столбцов совпадают с именами ключей в массиве. Что вам не понятного?
Gifts, там ид идут в разнобой, т.е. сначала 1, потом 8, потом допустим 35, и так далее. Но я решил уже, я читал построчно, ид сохранял в переменную, и в апдейте подставлял WHERE id=переменная с ид.
Flisk простите что вы делали, только не говорите, что занимались издевательством над СУБД вида "Запрос LIMIT 1,1", "Запрос LIMIT 2,1" и т.д.?
Gifts, я делал чуть иначе, я сделал селект всей таблицы и читал построчно с помощью mysql_fetch_array, обрабатывал текущий массив, и опять писал в базу. Правильно это или нет, я хз, но работает.
Нужна помощь в запросе, никак не соображу. Таблица категорий category: id name Таблица товаров items: id parent name Как выбрать запросом все категории + по 5 товаров этой категории? (items.parent = category.id) Т.е. что-то типа Code: SELECT a.*, b.* FROM category a LEFT JOIN items b ON b.parent = a.id AND b.id IN (SELECT id FROM items WHERE parent = a.id LIMIT 5) но с учётом того, что подзапросы не поддерживают limit.
Вопрос со стоит в следующем, есть база. в базе есть таблица 'user' как не делаю всего БК таблицы, сделать БК определенного юзера, с его данными?
Как то криво вопрос поставлен. Может быть с помощью SQL-запроса, подобного этому: Code: SELECT * FROM user WHERE id=’1′;
Сам же отвечу на свой вопрос. Вышел из ситуации так Code: select a.id, a.name, b.name, b.parent, @i := a.id from category a inner join items b on b.id in (select * from(select id from items where parent = @i limit 5) t) order by a.id