PDA

View Full Version : راهنمایی برای نوشتن query



erfannorouzi
یک شنبه 20 دی 1394, 01:14 صبح
با سلام و خسته نباشید خدمت دوستان
در حال طراحی وبسایت خبری هستم که قسمتی داره که سه تا از پست های پربازدید سایت رو نشون میده حالا در سمت دیگه تیبلی دارم که اماربازدید صفحه اول و هر پست رو توش ذخیره میکنم مشکل اینجاست وقتی میخوام پست های پربازدید رو بگیرم یه سری رکورد که برای صفحات دیگه هست هم میاد که postid ایشون مساوی با null هست در کل میخوام به query خودم بگم که رکود هایی که postid شون null هست رو select نکنه
اینم query که نوشتم
SELECT postid, COUNT(*) FROM `statistics` GROUP BY `postid` LIMIT 4
مشکل بعدی اینه که میخوام پست هایی که تو ۲۴ ساعت گذشته پربازدید بودن رو select کنم ولی query که نوشتم درست نیست

SELECT postid, COUNT(*) FROM `statistics` WHERE postid=(SELECT * FROM `news` WHERE date >= now() - INTERVAL 1 DAY) GROUP BY `postid` LIMIT 4

تشکر

0xEHSAN
یک شنبه 20 دی 1394, 07:01 صبح
درود دوست عزیز اول قسمت که میگید postid های خالی رو انتخاب نکنه میشه postid IS NOT NULL در ضمن اون مقدار count رو هم به شکل صحیح بر نمیگردونه باید اینطور بشه COUNT(*) AS count و یا هر چیز دیگری


SELECT postid, COUNT(*) FROM `statistics` GROUP BY `postid` LIMIT 4

معنی این دستور میشه تعداد postid رو براساس دسته بندی postid رو انتخاب و 4 تا رو برگردون

آیا منظورتون از این دستور همین بود که من گفتم یا نه؟


postid=(SELECT* FROM


این تیکه کد هم میگه انتخاب کن چه postid و یا خود خبر و سایر فیلدهایی که درون اون هست البته فکر کنم همین باشه دستوراش یکم سنگینه :)