View Full Version : بیشترین تعداد تکرار یک فیلد عددی یا غیر عددی
soroushp
جمعه 02 دی 1390, 19:43 عصر
در select چه دستوری را باید به کار برد که یک فیلدی که مورد نظر ماست بیشترین تعداد تکرار یا کمترین تعداد تکرار رو بیاره؟
:تشویق:
soroushp
جمعه 02 دی 1390, 20:35 عصر
2-
2 تا فیلد مقدار یکسان داشته باشه و بخواهیم جوابشو تو خروجی بیاریم
چه باید کرد؟
راهنمایی کنید
mehran_sh_t
جمعه 02 دی 1390, 20:41 عصر
منظورتون رو واضح تر بگید.
برای سوال اول، منظورتون اینه: در یک فیلد، مثلا اسم شهر ها رو داریم، می خواید بدونید کدوم شهر کمترین/بیشترین تعداد رو داره؟
اگر آره، به نظر با چیزی مشابه دستور زیر باید باشه:
SELECT MIN(COUNT(Field)) ON Table GROUP BY Field
soroushp
جمعه 02 دی 1390, 21:06 عصر
چک بکن
از selectایراد می گیره . ؟
baktash.n81@gmail.com
شنبه 03 دی 1390, 07:48 صبح
سلام
در دستور Select برای گروه بندی اطلاعات می تونی از دستور Group By استفاده کنی ... فرض کن من یه جدول Users دارم که یه فیلد به اسم FirstName داره ... حالا می خوام ببینم تو این جدول از هر اسم چنتا وجود داره ...
Selectcount(firstname),firstname from users groupby firstname
حالا به راختی با یه دستور Order By نتیجمو مرتب می کنم ...
Selectcount(firstname),firstname from users groupby firstname orderby 1
اگر هم بخوام نزولی مرتب کنم آخر دستور یه desc می نویسم ...
با توجه به اینکه به کمک دستور Top 1 می تونم رکورد اول رو انتخاب کنم می تونم چیزی رو که می خوام بدست بیارم ... یعنی مرتبش کنم بر اساس صعودی اولین رکورد کوچکترین رکورده ... اگه هم نزولی مرتب کنم اولین رکورد بزرگترینه ...
اما نکته ای که وجود داره اینه که شما نمی تونی مطمئا باشی که این رکورد به تنهایی بزرگترین رکورده ...
soroushp
یک شنبه 04 دی 1390, 22:15 عصر
79720
فرض کن همچین جدولی داریم و می خواهیم کمترین تعداد تکرار ستون code_b رو نمایش بدیم
باید چه کرد ؟؟؟
:متفکر:
soroushp
یک شنبه 04 دی 1390, 22:17 عصر
منظورتون رو واضح تر بگید.
برای سوال اول، منظورتون اینه: در یک فیلد، مثلا اسم شهر ها رو داریم، می خواید بدونید کدوم شهر کمترین/بیشترین تعداد رو داره؟
اگر آره، به نظر با چیزی مشابه دستور زیر باید باشه:
SELECT MIN(COUNT(Field)) ON Table GROUP BY Field
همچین دستوری جواب نمیده !
baktash.n81@gmail.com
دوشنبه 05 دی 1390, 08:37 صبح
79720
فرض کن همچین جدولی داریم و می خواهیم کمترین تعداد تکرار ستون code_b رو نمایش بدیم
باید چه کرد ؟؟؟
:متفکر:
Select top 1 count(code_b) from Table1 group by code_b order by 1
soroushp
دوشنبه 05 دی 1390, 13:42 عصر
Select top 1 count(code_b) from Table1 group by code_b order by 1
فرض کن همچین جدولی داریم می خواهیم بیشترین تعداد تکرار ستون code_b که 4 هست رو نمایش بدیم
الان با مثال براتون روشن خواهد شد.
79736
baktash.n81@gmail.com
دوشنبه 05 دی 1390, 16:15 عصر
select top 1 code_b from t1 group by code_b order by count(Code_b) desc
خودتم بعضی وقتا یکم کد ها رو اینور اونور بکنی به نتیجه می رسی ...
امیدوارم کمکت کنه این کده ...
soroushp
سه شنبه 06 دی 1390, 16:14 عصر
تشکر فراوان
79790
1- الان ما می خواهیم استادیوم های در خروجی نمایش داده بشه که هم ظرفیت هستند_در جدول ظرفیت همون tedad) هست
باید چه کرد ؟؟
2- یک جدولی دارم که توش تاریخ رو درج می کنه اگر بخواهیم فیلد تاریخ رو طوری نمایش بدیم که جدیدترین تاریخ براساس تاریخ سیستم نمایش داده بشه چه کنم؟؟؟؟
لطفا راهنمایی کنید
baktash.n81@gmail.com
چهارشنبه 07 دی 1390, 08:20 صبح
سلام
به نظرم بهتره سئوالت رو تویه یه تاپیک جدید بپرسی چون موضوعش فرق می کنه یکمی ...
منظورت از سئوال اول رو متوجه نشدم ... یعنی خروجی چه شکلی بشه !؟ یه ستون که تعداد رو نشون می ده یه ستون هم که نام استادیوم ها توش باشه که ظرفیتشون برابر تعداد مثلا :
100000 azadi-barajin
40000 stadiumx-stadimy-....
اگه می خوای تاریخ روز رو موقع Insert ثبت کنی که می تونی از تابع Getdate() استفاده کنی
اگه می خوای هر وقت که Select زدی تاریخ روز رو ببینی می تونی Getdate() رو به عنوان یه فیلد تو Select ات بیاری ...
select getdate() as NewDateTime,* from users
یا اینکه یه View بسازی و Getdate() رو به عنوان یه فیلد توش بزاری ... البته این روش ها خیلی کند می کنن مخصوص در تعداد زیاد رکورد چون به ازائی هر رکورد یه بار تابع اجرا می شه ...
می تونی اول Getdate() رو بریزی تویه یه متغیر بعد متغییر تو Select به عنوان یه ستون استفاده کنی...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.