У меня есть эта информация в page table
в моем db,
page_id page_title 1 xy {a} 2 kp {a} 3 xyz {b} 4 mno {b} 5 abc {c} 6 mno {c} 7 qwe {c}
Я использую фигурные скобки для группировки страниц, например страницы xy
и kp
относятся к группе a
.
Поэтому я хочу вернуть результат в эту информацию,
group_title page_title a xy a kp b xyz b mno c abc c mno
Но максимум две страницы в каждой группе.
Могу ли я использовать SQL-запрос для достижения этого или PHP?
Это то, над чем я работаю, используя REGEXP …
SELECT p.page_title REGEXP '{[az]}' AS groupTitle FROM pages AS p ORDER BY p.page_created DESC
Я получаю этот результат,
groupTitle 0 0 0 0 0 0
Есть идеи?
РЕДАКТИРОВАТЬ:
Вот мой запрос,
ВЫБРАТЬ *
FROM( SELECT p.page_id AS page_id, p.page_url AS page_url, SUBSTRING(p.page_title,LOCATE('{',p.page_title),LOCATE('}',p.page_title)) AS group_title, p.page_created AS page_created, @row_number := @row_number + 1 AS row_number FROM root_pages AS p WHERE p.parent_id = '8' AND p.page_id != '8' AND p.page_hide != '1' AND p.category_id = '1' ORDER BY p.page_backdate DESC ) a
где row_number <= 2
результат,
page_id page_url group_title page_created row_number 44 abc {a} 2011-10-21... NULL 43 def {a} 2011-10-21... NULL 42 qwe {b} 2011-10-21... NULL 41 rty {b} 2011-10-21... NULL 40 tyu {c} 2011-10-21... NULL 39 ghj {c} 2011-10-21... NULL 59 sss {c} 2011-10-21... NULL
Но у меня все еще есть проблема, чтобы ограничить количество строк из каждой группы, любые идеи?