View Full Version : سوال: دسته بندی رکوردها بر اساس تاریخ
mmojbo
یک شنبه 25 فروردین 1392, 17:39 عصر
با سلام به دوستان
نمیدونم عنوان درستی رو برا سوالم مطرح کردم یا نه، اما سوالم اینه:
1 - میخواستم بدونم در mySql چطور میتونم اطلاعات رو بر اساس تاریخ ثبتشون طبقه بندی کنم؟
(توضیح: مثلا من اطلاعات رزرو افراد رو در یک جدول دارم. حالا میخوام اطلاعات رو به صورت هر ماه جدا کنم که زمان گزارش گیری mysql فقط تو اطلاعات مربوط به همون ماه دنبال اون گزارش خاص بگرده)
ممنون از راهنماییتون
سعید صابری
یک شنبه 25 فروردین 1392, 21:08 عصر
group by Field
mmojbo
یک شنبه 25 فروردین 1392, 21:12 عصر
ممنون
ولی منظورم این نیست
دوباره توضیح میدم: زمانی که شما یک کوئری رو اجرا میکنید در بین تمام رکوردهای اون جدول(ها) دنبال اون میگیرده
ولی من میخوام رکوردهایی رو بگرده که در یک بازه زمانی خاص باشند. مثلا ماه 2
tomalaki
دوشنبه 26 فروردین 1392, 09:46 صبح
در یک بازه زمانی خاص باشند. مثلا ماه 2
WHERE str_to_date(date_field, '%d-%m-%Y') BETWEEN '2010-01-30' AND '2010-09-29'
mmojbo
دوشنبه 26 فروردین 1392, 15:43 عصر
WHERE str_to_date(date_field, '%d-%m-%Y') BETWEEN '2010-01-30' AND '2010-09-29'
ممنون ولی این هم نیست
تو این دستور تمام رکوردها رو میگرده و اونایی که در بین او بازه قرار داره نشون میده.
من میخوام اصلا یه سری رکوردها رو نگرده؟؟؟
tomalaki
دوشنبه 26 فروردین 1392, 15:49 عصر
خب WHERE برای همینه دیگه. شما میتونی یه شرط دیگه هم بذاری. مثلا رکورد هایی که متعلق به مشتری به شماره آی دی فلان هستند و از این تاریخ تا آن تاریخ هستند.
mmojbo
دوشنبه 26 فروردین 1392, 16:36 عصر
دوست عزیز ببین:
شما وقتی یک شرط میزاری کجا دنبالش میگرده؟! کل رکوردها رو میگرده میبینه کدوم یکی از اون ها با شرطی که تو WHERE هست برابری میکنه و در صورت درستی اون رو به خروجی میفرسته.
من میخوام رکوردهایی که میگرده رو مشخص کنم. مثلاً اگه 200 تا رکورد دارم، شرطم age = 20 هست، تو 100 تای اول دنبال این شرط بگرده، و اصلا 100 تای دوم رو چک نکنه.
(امیدوارم این دفعه منظورم رو شفاف گفته باشم)
tomalaki
دوشنبه 26 فروردین 1392, 17:10 عصر
فکر کنم چیزی که شما دنبالشی limit هست. از این استفاده کن
LIMIT 100
100 هم نمونه هست. حالا هرچی گذاشتی.
اگر هم مثلا بنویسی
select * from student limit 2,4
میاد تنها محدوده ی چهارتا رکورد بعد از رکورد دوم رو میگرده.
mmojbo
دوشنبه 26 فروردین 1392, 22:46 عصر
شرمندم که باز دوباره مجبورم بگم این هم نه!!!!!
تو این دستور ما رنج رکورد ها رو بر اساس ردیف تعیین میکنیم. (به اون چیزی که میخوام نزدیکه)
من میخوام خودش رکورد های هر ماه رو تو یه دسته ببره و گزارش گیری های مربوط به همون ماه رو داخل همون رکوردهای مربوط به هموم ماه سرچ کنه
tomalaki
دوشنبه 26 فروردین 1392, 23:18 عصر
شاید ساختار طراحی پایگاه داده ات مشکل داره. اگه راهی پیدا نکردی روی طراحی مجدد فکر کن.
mmojbo
سه شنبه 27 فروردین 1392, 22:47 عصر
ممنون اون چیزی که من دنبالش بودم، پارتیشن بندی پایگاه داده بود.
tomalaki
سه شنبه 27 فروردین 1392, 23:36 عصر
ممنون اون چیزی که من دنبالش بودم، پارتیشن بندی پایگاه داده بود.
پارتیشن موقعی استفاده میشه که تعداد رکورد های جدول سر به 4-5 میلیون بزنه. اگه برای اون مقاصدی که من متوجه شدم میخوای به نظر من با استفاده از WHERE کارت راحت تر هست. اما اگه اینجوری تشخیص میدی خب حتما همین بهتر هست. البته پارتیشن یه چیز منطقی هست که اون رو برات ذخیره نمیکنه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.