У меня есть эта информация в page table
в моем БД,
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 '{[a-z]}' AS groupTitle
FROM pages AS p
ORDER BY p.page_created DESC
Я получаю этот результат,
groupTitle
0
0
0
0
0
0
Есть идеи?
EDIT:
Вот мой запрос,
ВЫБРАТЬ *
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 </p>
результат
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
Но у меня все еще есть проблема ограничить количество строк в каждой группе, есть идеи?