PDA

View Full Version : سوال: استخراج اخبار به شکل زیر



sadegh.te
پنج شنبه 22 بهمن 1394, 14:38 عصر
سلام دوستان
من یه جدول تو دبتابیسم دارم ک کل اخبارم که نوع های مختلفی مثل اخبار سیاسی - رازهای سلامت - سبک زندگی و... هستش توی اون جدول ذخیره میشن .


حالا من میخوام که از اون دسته هایی ک تو اون جدول هست از هر دسته فقط 5 تا خبر جدیدشو بگیرم و نمایش بدم .


مثلا 5 تای جدید اخبار سیاسی و 5 تای جدید رازهای سلامت و...


مثل شکل زیر

138986

ممنون.

malloc
پنج شنبه 22 بهمن 1394, 14:47 عصر
خوب میتونی union بزنی ......

malloc
پنج شنبه 22 بهمن 1394, 14:59 عصر
داداش من خودمم روی سایتهای خبرگزاری کار میکنم .... یه سلکت الان زدم فکر کنم بدرد کار تو بخوره . نیگاش کن سوالی داشتی در مورد فیلد و جداول بپرس


select * from( SELECT News_ID, News_Title,ROW_NUMBER() OVER (PARTITION BY Service_ID
ORDER BY Service_ID) as Rn,Service_ID ,News_Date_Publish
FROM dbo.News) as TM
where Rn <= 5
order by Service_ID, News_Date_Publish desc


این دستور از هر سروریس فقط 5 تای آخر(تاریخ انتشار) رو میده .... امیدوارم بکارت بیاد

sadegh.te
پنج شنبه 22 بهمن 1394, 16:14 عصر
ممنون malloc جان این ساختار جدول منه که کل خبرهام اونجا قرار میگیره ممنون میشم سلکت رو در رابطه با این جدول بگی.
138987

malloc
پنج شنبه 22 بهمن 1394, 17:16 عصر
اون sub_group_Id چیه ؟؟؟و چرا از نوع bigint???



ضمنا این ساختار جدول خبرهاته ؟؟؟؟

sadegh.te
پنج شنبه 22 بهمن 1394, 18:41 عصر
اون sub_group_Id چیه ؟؟؟و چرا از نوع bigint???


sub_group_Id این فیلد مشخص میکنه که خبر بری کدام دسته خبری هستش مثلا برای دسته اخبار هست یا برای دسته سبک زندگی و یا سایر دسته ها و...




ضمنا این ساختار جدول خبرهاته ؟؟؟؟

بله من از این جدول برای نگهداری عنوان خبرها استفاده میکنم و محتویات هر خبر رو در یک جدول دیگه میزارم.

بنظر شما ساختار جدول مشکلی داره؟

malloc
پنج شنبه 22 بهمن 1394, 22:20 عصر
sub_group_Id این فیلد مشخص میکنه که خبر بری کدام دسته خبری هستش مثلا برای دسته اخبار هست یا برای دسته سبک زندگی و یا سایر دسته ها و...




بله من از این جدول برای نگهداری عنوان خبرها استفاده میکنم و محتویات هر خبر رو در یک جدول دیگه میزارم.

بنظر شما ساختار جدول مشکلی داره؟

داداش این کد و تست کن


select * from( SELECT ID, title_news,ROW_NUMBER() OVER (PARTITION BY sub_group_ID
ORDER BY sub_group_ID) as Rn,sub_group_ID ,date
FROM dbo.News) as TM
where Rn <= 5
order by sub_group_ID, date desc

sadegh.te
پنج شنبه 22 بهمن 1394, 23:28 عصر
ممنون ولی من هنوز تو جداولم داده نریختم ک تستش کنم ولی نگا کردم درست بود.

malloc تو نظری نداری در رابطه با اینکه تعداد کانشکنامو بیارم پایین ک سرعتم بالاتر بره؟