Счет подстрок

Pin

Новичок
Счет подстрок

Доброго времения суток...

Есть таблица с несколькими полями, одно из них - последовательность нумерованых действий.

table a (
...,
csv tinytext,
...,
)

Содержание полей вроде этого - 1,2,3 / 2,6,7 / 2,3,4,7 / 5,3,2 и т.д.

Максимальное число, встречающееся в этом поле известно.

Чтобы посчитать встречаемость действия, например, 3 пишем

select 3, count(*) from a where find_in_set('3',csv)

Чтобы вывести таблицу встречаемости каждого действия, можно такие запросы через UNION объединить, что не очень хорошо, да и сортировка через php...

А если таблица а временная, то такое не прокатит, can't reopen и все тут.

А одним нормальным запросом нельзя?

Что-то вроде
SELECT (1,2,3) as n, // разбежался...
count (*) from a where find_in_set(n,csv) gruop by n

mysql 4.1.16

Заранее спасибо.
 

alpine

Новичок
Pin
Спроектируй базу данных так, чтобы это можно было по-человечески делать и стандартными функциями.
 

Pin

Новичок
А если кроме этого важна еще и последовательность действий? Получается, так универсальней, но полный отчет по действиям - совсем плохо... :(
 
Сверху