Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Like, REGEXP поиск
 
 автор: designshadow   (10.08.2012 в 16:55)   письмо автору
 
 

Как можно обрезать результат выборки до 3-го пробела и до первого \r\n на стороне mysql?

  Ответить  
 
 автор: cheops   (12.08.2012 в 19:08)   письмо автору
 
   для: designshadow   (10.08.2012 в 16:55)
 

С обрезкой дело в MySQL обстоит плохо, если найти выражение вы можете, то уже обрезать по регулярному выражению нет - нужно это делать на стороне клиента. Для использования функции SUBSTRING() нужно знать точную позицию.

  Ответить  
 
 автор: confirm   (12.08.2012 в 21:18)   письмо автору
 
   для: cheops   (12.08.2012 в 19:08)
 

А я читал, так и не понял -в теме одно, а вопрос вроде бы о другом. Если в результате, то наверное комбинация с SUBSTRING_INDEX() поможет.

  Ответить  
 
 автор: designshadow   (12.08.2012 в 23:12)   письмо автору
 
   для: confirm   (12.08.2012 в 21:18)
 

Как можно внедрить SUBSTRING_INDEX(`name`, ' ', 1) , чтобы группировка(DISTINCT) тоже могла работать?
$sql = "SELECT DISTINCT left(name,60) AS name2 FROM table WHERE id IN (1,2,3) AND (name LIKE '$q%')";

  Ответить  
 
 автор: confirm   (13.08.2012 в 08:59)   письмо автору
 
   для: designshadow   (12.08.2012 в 23:12)
 

Вот это условие! Выбрать из конкретных трех (!) удовлетворяющих шаблону, а части выбора еще отполировать DISTINCT. Как совместить понятие "по шаблону" с "уникальностью в нем"? Уникально то, что вне шаблона?
Если речь всего о трех записях, то не выгоднее ли выбрать по основному условию, а определяться уже с ресурсом?
Хотя не в контексте вашего ограниченного выбора, но все таки - DISTINCT, это ведь из выбранной кучи удалить дубликаты, и тоже самое можно достичь иным способом:
SELECT ... WHERE EXISTS (SELECT сondition)
что по идее будет работать эффективнее, так как возвращает уже искомое.

  Ответить  
 
 автор: designshadow   (13.08.2012 в 16:40)   письмо автору
 
   для: confirm   (13.08.2012 в 08:59)
 

Так а DISTINCT будет работать с SUBSTRING_INDEX(`name`, ' ', 1) в таком запросе?

  Ответить  
 
 автор: confirm   (13.08.2012 в 19:53)   письмо автору
 
   для: designshadow   (13.08.2012 в 16:40)
 

А почему он не должен работать? Он шерстит результаты запроса.
А что вы конкретно ищите и среди чего? Меня просто любопытство раздирает, ну во-первых шаблон, а во-вторых неизвестно, что останется после обрезания и будет ли там уже чего-то уникального...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования