![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
Итак, есть таблица
Отредактированно maxist (12.04.2011 16:43:34)
Неактивен

1. Ужасно неудачная организация хранения данных. Нельзя разбить на два
поля целочисленных? Кажется, все запросы упростятся в разы.
2. Если оставаться со строками, то попробуйте написать осмысленное выра-
жение через LOCATE() / LEFT() — Вас же интересует группировка по левой
части строки.
3. В случае строк — не найдейтесь на то, что оно сможет работать хоть когда-
либо хоть сколь-либо быстро.
4. Да, переменные есть (только один символ @ нужен).
Неактивен
бяка, конечно. Но, пардон: какая задача - такой ответ. Не обессудте.
Неактивен
Что-то мне кажется этот запрос будет сильно весомым... Перебор каждая с каждой. Правда за идеи спасибо. Сейчас еще прочту документацию
Неактивен

2vaspet: моя интуиция меня подвела, я думал, что наоборот ![]()
[silentia] root (none) > select benchmark(1000000,@a like '%/%');
+----------------------------------+
| benchmark(1000000,@a like '%/%') |
+----------------------------------+
| 0 |
+----------------------------------+
1 row in set (0.51 sec)
[silentia] root (none) > select benchmark(1000000,LOCATE("/", @a));
+------------------------------------+
| benchmark(1000000,LOCATE("/", @a)) |
+------------------------------------+
| 0 |
+------------------------------------+
1 row in set (0.70 sec)Неактивен