|
|
|
| Как можно обрезать результат выборки до 3-го пробела и до первого \r\n на стороне mysql? | |
|
|
|
|
|
|
|
для: designshadow
(10.08.2012 в 16:55)
| | С обрезкой дело в MySQL обстоит плохо, если найти выражение вы можете, то уже обрезать по регулярному выражению нет - нужно это делать на стороне клиента. Для использования функции SUBSTRING() нужно знать точную позицию. | |
|
|
|
|
|
|
|
для: cheops
(12.08.2012 в 19:08)
| | А я читал, так и не понял -в теме одно, а вопрос вроде бы о другом. Если в результате, то наверное комбинация с SUBSTRING_INDEX() поможет. | |
|
|
|
|
|
|
|
для: 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%')";
|
| |
|
|
|
|
|
|
|
для: designshadow
(12.08.2012 в 23:12)
| | Вот это условие! Выбрать из конкретных трех (!) удовлетворяющих шаблону, а части выбора еще отполировать DISTINCT. Как совместить понятие "по шаблону" с "уникальностью в нем"? Уникально то, что вне шаблона?
Если речь всего о трех записях, то не выгоднее ли выбрать по основному условию, а определяться уже с ресурсом?
Хотя не в контексте вашего ограниченного выбора, но все таки - DISTINCT, это ведь из выбранной кучи удалить дубликаты, и тоже самое можно достичь иным способом:
SELECT ... WHERE EXISTS (SELECT сondition)
| что по идее будет работать эффективнее, так как возвращает уже искомое. | |
|
|
|
|
|
|
|
для: confirm
(13.08.2012 в 08:59)
| | Так а DISTINCT будет работать с SUBSTRING_INDEX(`name`, ' ', 1) в таком запросе? | |
|
|
|
|
|
|
|
для: designshadow
(13.08.2012 в 16:40)
| | А почему он не должен работать? Он шерстит результаты запроса.
А что вы конкретно ищите и среди чего? Меня просто любопытство раздирает, ну во-первых шаблон, а во-вторых неизвестно, что останется после обрезания и будет ли там уже чего-то уникального... | |
|
|
|