چه چور میشه مطالب مثل سایت اخرین خبر نشون داد
کوئری باید چه چور باشه که مطلب اخر هر دسته نشون بده
کوئری را ابتدا بر اساس تارخ Sort به صورت نزولی کنید و سپس با استفاده از top تعداد مورد نظر را واکشی کنید
Select Top(5) * From New Order By Date Desc
این میاد اخرین خبر مربوط به هردسته رو داخل اون دسته نشون میده اگه سایتش ببینی متوجه میشی
دوست من کافیه یک Where بزاری و بر اساس گروه واکشی کنی
اقای مدائنی میدونم با دستور where میشه اما اگه من 20 تادسته داشته باشم باید برای هرکدوم یه دستور بزنم
راهی نداره که همه باهم باشه
از دستور GroupBy استفاده کنید تا همه در به صورت گروه بندی بیاره
حب میشه دستورش برای 3 تا جدول بگی
دستور Group By در sql چیست؟
از دستور Group By در اسکیوال جهت دسته بندی يک ستون بر حسب مقادير مشابه فيلدهای يک ستون ديگر مورد استفاده قرار می گیرد .
در زمان استفاده از بعضی از توابع درون ساخته SQL که عمل محاسبه ( مثل مجموع و ميانگين ) را بر روی داده ها صورت بخشیده ، اين مشکل موجود است که اين توابع قادر به جدا کردن و متمايز کردن اطلاعات موجود در دو ستون نسبت به هم نمی باشند و نتايج محاسبات را به صورت کلی برای همه آنها در نظر دارند . در این مواقع از دستور Group By استفاده می نماییم .
ساختار این دستور به صورت زیر می باشد :
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
دستور Group By در sql زمانی مورد استفاده قرار می گیرد که ما در حال انتخاب چند ستون می باشیم و حداقل یک عملگر محاسباتی در دستور select را دارا می باشیم . در این زمان ما می بایست تمام ستونهای دیگر را گروه بندی نماییم.
مثال : در مثال زیر مجموع نمرات هر دانش آموز را به شکل گروه بندی شده بر طبق فیلد نام دانش آموز به خروجی داده خواهد شد :
Select Name ,Sum ( Grade ) As مجموع نمرات
From Class
Group By Name ;
نکته : دستور group by در اسکیوال از جمله ی پرکاربردترین دستورات می باشد که یادگیری کامل این دستور ، قادر می باشد فرق بین اسکریپت نویسی حرفه ای در sql دارا باشد.
منبع » sitedesignco
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)