просто работает онлайн сервис коротких ссылок всякое хамло накидало мусора в БД, нужно почистить и использовать незанятые индексы под более короткие адреса P.S. закинул в админку вывод ТОПа последних ссылок с кнопкой нажал - отметил, нажал - отметил, удобно =)
как можно сделать дамп таблицы, вытянув инфу по определённым параметрам, либо чем можно вытянуть? так как таблица большая, около 100к записей, отсортировать и в дамп мне только нужно около 10к записей , через phpmyadmin столько не получится экспортировать , пробовал вбивать запрос select * from tabl where key = '32' неполучается
Как это не получится экпортировать? Там хоть биллон таблиц экспортируй (сохраняй в файл). А сортировать лучше уже у себя.
из 100к строк нужно 10к. Каких именно? последних? в отсортированном виде а это по какому полю? Например: SELECT * FROM (SELECT * FROM tabl ORDER BY key DESC LIMIT 10000) AS mytab ORDER BY key; Берет последние 10к записей и сортирует по key (по возрастающей)
у меня в таблице находятся пользователи, мне нужно сделать чтобы выбранная группа пользователей только смогла записатся в дамп, sypex не позволяет делать такой дамп, дамп чтото вроде "select * from tab where key = 'test' into outfile '/tmp/s.sql'
Code: SELECT (SELECT count(*) FROM `table` WHERE DATE_FORMAT(_date, '%Y-%m-%d') = '2012-08-1'), (SELECT count(*) FROM `table` WHERE DATE_FORMAT(_date, '%Y-%m-%d') = '2012-08-2'), .... (SELECT count(*) FROM `table` WHERE DATE_FORMAT(_date, '%Y-%m-%d') = '2012-08-31'), Нужно получить кол-во записей в таблице за каждый день. Можно ли оптимизировать запрос выше? UDP 1: На выходе нужно получить что то вроде 21, 53, 65, 23, 54... за каждый день. Дней может быть очень много. //Вопрос закрыт
Code: SELECT count(*) FROM `table` AS t, `imglog` AS im WHERE (DATE_FORMAT(t._date, '%Y-%m-%d') = '2012-08-1') OR (DATE_FORMAT(im._date, '%Y-%m-%d') IN ('2012-08-2','2012-08-31') ;
Как в mysql при выборке указать сравнение строк? LIKE и STRCMP походу не катит. Нужно чтобы например кол-во совпадающих символов было больше 5 например. Например на php примерная функция PHP: function sravn($str1,$str2) { $k = 0; for($i=0;$i<strlen($str1);$i++) if($str1[$i]==$str2[$i]) $k++; return $k; } Длинна строк одинаковая. Как сделать такое средствами mysql?
zifanchuck Вам это зачем? Вам достаточно совпадения префиксов что ли? Code: SELECT * FROM table WHERE LEFT(`column`, 5)=LEFT('some_string', 5)
Gifts вообщим есть таблица, в ней записи. Например Code: 11211111111211 21121121222111 11111211112211 12121112112111 11111111111121 11122212122222 11122222211221 21121112121111 11111121122112 21111222212121 12211111222211 21122111221111 11111111111112 И есть еще одна строка, длинна тоже 14 символов, с которой нужно сравнивать строки из таблицы, и отбирать только те у которых совпадения >5 . Совпадать символы могут не только первые, а вообще по всей длинне. Префиксы не подойдут. Сейчас копаю в сторону "CREATE FUNCTION" . При выборке можно будет же указать WHERE SRAVN(table_name.st,"11111111111111")>5 ?? UPD Пока получилось только такое PHP: CREATE FUNCTION `sravn`(`str1` CHAR(14),`str2` CHAR(14)) RETURNS int BEGIN DECLARE k int DEFAULT 0; DECLARE i int DEFAULT 1; WHILE i <= 14 DO IF (SUBSTRING(str1,i,1)=SUBSTRING(str2,i,1))THEN SET k = k + 1; END IF; SET i = i + 1; END WHILE; RETURN k; END; Работает, но довольно медленно. 4млн обходит за 5 минут. Напрямую к символу строки обратиться не получилось, пришлось делать костыль через SUBSTRING. Есть возможность напрямую обращаться?
Есть 2 таблицы number и message number - id number rublic message - id message rublic что бы посмотреть message с number используем запрос типа select number.*,message.* from number,message where message.rublic=number.rublic номера повторяются, а нужно составить запрос с уникальными номерами что то типа select number.*,message.*,count(number.number) as count from number,message where message.rublic=number.rublic and count=1 group by number.number - короче запрос лажа и не пашет по понятным причинам... т.к. написал его для логического примера прошу помочь составить запрос
есть 3 связанные таблицы authors, titleauthor, titles нужно показать самую дорогую книгу написанную авторами из калифорнии Запросом Code: SELECT titles.price, titles.title FROM authors, titleauthor, titles WHERE (authors.state = 'ca') AND (authors.au_id = titleauthor.au_id) AND (titleauthor.title_id = titles.title_id) GROUP BY titles.price, titles.title HAVING MAX(titles.price)=titles.price выдает самую дорогую книгу авторов из группы. Помогите пожалуйста....
Так попробуй Code: SELECT max(titles.price), titles.title FROM authors, titleauthor, titles WHERE (authors.state = 'CA') AND (authors.au_id = titleauthor.au_id) AND (titleauthor.title_id = titles.title_id)
Нельзя и не будит так работать!! Может кому пригодится, проблема решена: Code: select titles.price, titles.title from authors, titleauthor, titles where (authors.state = 'ca') and (authors.au_id = titleauthor.au_id) and (titleauthor.title_id = titles.title_id) GROUP BY titles.price, titles.title HAVING MAX(titles.price)=(select MAX(price) from titles) или так: Code: select titles.price, titles.title from authors, titleauthor, titles where (authors.state = 'ca') and (authors.au_id = titleauthor.au_id) and (titleauthor.title_id = titles.title_id) and titles.price = (select MAX(price) from titles)
Есть большой сайт - с подкатегориями. На сайт идет нагрузка - тобиш на базу. (так как категорий много) Поможет мне такой вариант для распределение запросов. Я под каждую категорию покупаю базу данных. И при обращенни к категории - подключаеться конфиг или условие которое берет из базы данных этой категории ?
Скрипт Здравствуйте, хотел бы тут увидеть скриптик, не большую форму заполнения текстом и чтоб при этом всё записывалось в базе данных по переменным: а тоесть: PHP: id-Какое по счёту сообщения. name-Названия сообщения body-текст сообщения putdate-Дата создания author-Автор сообщения буду очень благодарен
Если вы просите помочь найти скрипт, то четко это и указывайте. А если нужно написать новый сценарий, обращайтесь в раздел форума предложенный выше.