سؤال

لدي جدول لـ Blogposts وجدول للعلامات ، مع وجود علاقة كثيرة بينها.

كيف يمكنني استخراج العلامة الأكثر شيوعًا عبر أ مجموعة فرعية من blogposts؟ (على سبيل المثال فقط من العام الماضي) هل هناك طريقة لاستخراج ترددات جميع العلامات المرتبطة بالمجموعة الفرعية للمدونة؟

شكرًا

تحرير: مخططتي:

CREATE TABLE `tag` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `name` varchar(200) NOT NULL,
    `access` varchar(1),
    `linked_created` datetime
)
;

CREATE TABLE `blogpost_tags` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `blogpost_id` integer NOT NULL,
    `tag_id` integer NOT NULL,
    UNIQUE (`blogpost_id`, `tag_id`)
)
;

CREATE TABLE `blogpost` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `title` varchar(50),
    `body` varchar(500)
)
;
هل كانت مفيدة؟

المحلول

(الآن بعد أن تم توفير المخطط ، أزال مخطط العينة الخاص بي ونشر الاستعلام للتو)

Select T.name, Count(*) As UseCount
From Tag As T
    Join BlogPost_Tag As BPT
        On BPT.tag_Id = T.Id
    Join BlogPost As BP
        On BP.Id = BPT.blogpost_id
Where BP.Title Like '...'
Group By T.name
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top