نمایش نتایج 1 تا 26 از 26

نام تاپیک: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

  1. #1
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    سلام دوستان
    بزارید اول فیلد های بانکم رو معرفی کنم
    کد--------نام---------نام خانوادگی----------مبلغ دریافتی---------تاریخ
    1---------علی-------رضایی-----------------1000------------------1390/05/23
    1---------علی-------رضایی-----------------2000------------------1390/07/23
    1---------علی-------رضایی-----------------5000------------------1390/08/23
    2---------محمد------اکبری------------------2000------------------1390/04/23
    2---------محمد------اکبری------------------8000------------------1390/07/23

    حالا میخوام افراد رو بر اساس تاریخ دریافت پرداخت پول ها و کل مبلغ های پرداختی مرتب کنم یعنی اگر یه نفر 6 ماه پیش 3000 تومان و 5 ماه پیش 2000 تومان داده باشه بالا تر باشه از فردی که 1 ماه پیش 7000 تومان داده
    مبلغ های دریافتی هر فرد رو که میشه جمع زد و مشکلی ندارم ولی تاریخ ها رو نمیدونم چه کار کنم
    یه سری میگن از تاریخ ها هم میانگین بگیر
    یه سری میگن از تاریخ ها تفاضل بگیر
    یه سری میگن برای هم فرد گروه درست کن بعد مرتب کن(البته اینو نفهمیدم چی بود)
    حالا شما چه راهی پیش نهاد میکنید
    اگر تو درک کردن اطلاعات و درخواست من مشکل دارید بگید تا کامل توضیح بدم
    آخرین ویرایش به وسیله ali reza mansoori 2 : پنج شنبه 24 آذر 1390 در 19:39 عصر

  2. #2

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    سلام
    میخوای که توی گزارشت، جمع پولهایی که هر فرد داده رو نشون بدی یا نه تمام دفعات و مبلغی که هر بار داده؟

  3. #3

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    سلام.
    اگر منظور شما رو درست متوجه شده باشم باید این جواب بده:
    select Person, Sum(Price), Max(Date) from Tbl
    group by Person
    order by Sum(Price), Max(Date) -- sql
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  4. #4
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    نقل قول نوشته شده توسط tazarvmmr مشاهده تاپیک
    میخوای که توی گزارشت، جمع پولهایی که هر فرد داده رو نشون بدی یا نه تمام دفعات و مبلغی که هر بار داده؟
    می خوام افراد رو بر اساس کل مبلغ های که دادن و تاریخ دریافت مبلغ ها مرتب کنم
    حالا کل مبلغ ها رو که راحت میشه جمع کرد ولی تاریخ ها رو نیمدونم چه کار کنم

  5. #5
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    نقل قول نوشته شده توسط You-See مشاهده تاپیک
    سلام.
    اگر منظور شما رو درست متوجه شده باشم باید این جواب بده:
    select Person, Sum(Price), Max(Date) from Tbl
    group by Person
    order by Sum(Price), Max(Date) -- sql
    فکر کنم محاسبه به این روش عادلانه نباشه
    شما مبلغ های دریافتی رو جمع کردید ولی از بین تاریخ ها آخرین تاریخ رو انتخاب کردید
    باید با تمام تاریخ ها کار کرد و محاسبه رو روی تمام اونا انجام بدیم(البته خودمم نمیدونم چه جوری)

  6. #6

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    حالا منظورتون رو متوجه شدم.
    چیزی که شما دنبالش هستید در حقیقت محاسبه میانگین موزون یا همون راس گیری هست.
    اگر D تاریخ و P مبلغ باشه:
    Balanced Average = Sigma(P.D) / Sigma(P) = (P1.D1 + P2.D2 + ...) / (P1 + P2 + ...) ---- D is in integer form of date
    بر اساس این محاسبه به هر یک عددی اختصاص می دید و بر اساس اون مرتب می کنید.
    تاریخ ها رو باید در فرم عددی استفاده کنید.
    فرقی نمی کنه که مثلا 12/07/1390 رو 13900712 بگیرید یا مثلا تعداد روزهایی که از تاریخ خاصی شروع می شن. مثلا بگید اون تاریخ رو 250 می گیرم چون از کوچکترین روز محاسبه من 250 روز بیشتره.
    این روش بهتره چون ارقام کوچکتری برای ضرب و تقسیم داره اما در نهایت هر دو در محاسبات یک رنک رو تولید می کنند.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  7. #7
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    دوست عزیر درست متوجه منظورتون نشدم
    تاریخ ها رو باید به صورت عددی ذخیره کنم!!!!! یعنی این جوری 13900520 یا .....
    میشه این دستوراتی که نوشتید رو به صورت SQL پیاده سازی کنید

  8. #8

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    تاریخ ها رو باید تبدیل به عدد کنید.
    یا با replace و یا با توابعی که خودتون نوشتید.
    اگر باز هم متوجه نشدید در خصوص تاریخ های شمسی و محاسباتش در همین سایت جستجو کنید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  9. #9
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    select replace(convert(varchar, getdate(),101),'/','') ========>> 12302006
    منظورتون از replace همین هستش دیگه

  10. #10

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    شبیه به این.اما به جای getdate زمان ثبت شده باید باشه.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  11. #11
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    دوستان من از این کد برای میانگین گرفتن از تاریخ ها استفاده کردم
    همه میدونیم که تاریخ و ساعت از یک عدد اعشاری تشکیل شده مثلا 222132.1312 که اشاره به یک زمان خاصی میکند. قسمت صحیح اون تاریخ و قسمت اعشار اون ساعت رو نشون میده
    حالا کد من میاد تاریخ رو به روش بالا به عدد تبدیل میکنه و از اون میانگین میگیره
    اگر روش کاری که من استفاده کردم مشکل داره لطفا راهنمایی کنید
    AVG(CONVERT(bigint, CONVERT(datetime,Tabel1.TT))) AS Avg_TT

  12. #12

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    اشکال کار شما در اینه:
    شخص الف دو بار پول می ده. یک بار 10 روز قبل 1000 تومن و یک بار 1 روز قبل 10,000 تومن
    شخض ب هم دو بار پول می ده. یک بار 10 روز قبل 10,000 تومن و یک بار 1 روز قبل 1000 تومن
    در محاسبات شما عدالت بین این دو نفر رعایت نخواهد شد مگر اینکه از روشی که گفتم استفاده کنید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  13. #13
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

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

  14. #14

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    در بالا هم اشاره کردم.
    محاسبات باید موزون باشه.
    روشش هم توضیح دادم.
    کجاش رو متوجه نشدید؟
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  15. #15
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    نقل قول نوشته شده توسط You-See مشاهده تاپیک
    اگر D تاریخ و P مبلغ باشه:
    Balanced Average = Sigma(P.D) / Sigma(P) = (P1.D1 + P2.D2 + ...) / (P1 + P2 + ...) ---- D is in integer form of date
    بر اساس این محاسبه به هر یک عددی اختصاص می دید و بر اساس اون مرتب می کنید.
    P که مبلغ هستش و مشکلی نیست
    D هم تاریخ هستش ولی فرمتش چه جوری باید باشه؟ (شمسی - قمری - عددی - .... )

    اگر بخواییم روی همون مثال شما کار کنیم باید همچین چیزی در بیاد درسته؟
    شخص الف ( 10000+1000)/((10000*تاریخ یک روز قبل)+(1000*تاریخ ده روز قبل))

  16. #16

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    بله.
    در مورد تاریخ هم گفتم تفاوتی نمی کنه.
    باید تبدبل کنید به عدد.
    هر جوری که دوست دارید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  17. #17
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    خیلی ممنون
    شرمنده اینقدر سوال میکنم ها
    تاریخ ها رو میتونم با این کد تبدیل کنم
    CONVERT(bigint, CONVERT(datetime,Tabel1.TT))

  18. #18

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    بله فقط احتمال سرریز در محاسبات رو هم در نظر بگیرید. چون اعداد ممکنه خیلی بزرگ بشن.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  19. #19
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    برای جلو گیری از این کار باید چه کار کنم؟
    آیا میتونم اعدادی که محاسبه میکنم رو بر 2 تقسیم کنم بعد محاسبات رو انجام بدم؟

  20. #20

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    بله می تونید همه رو به یک عدد ثابت تقسیم کنید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  21. #21

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    سلام دوست عزیز،

    می‌خواستم بدونم شما به جوابتون رسیدید یا نه، چون من هرچی‌ میخونم میبینم به نظرم جواب نیست!

  22. #22

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    دوست عزیز این روش مرتب کردن میانگین موزون نام داره.
    توقع شما از جواب چیه؟
    فرمول رو که دادم. نمونه رو که گذاشتم.
    تبدیلات رو هم گفتم.
    الان باید دقیقا چه اتفاقی بیفته تا "جواب" باشه؟
    برای من هم روشن کنید تا از این به بعد خودم رو اصلاح کنم.
    شاید من کل مسیر رو اشتباه متوجه شدم.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  23. #23

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    سلام دوست من ،

    این بنده خدا می‌خواد مجموع پرداختی توسط هر نفر و تاریخ آخرین پرداخت رو داشته باشه، یعنی‌ خروجی این کؤری باید نام، مجموعِ پرداختی و تاریخ آخرین پرداخت باشه.

    حالا سوال من اینه که کؤری شما چه شکلیه، همین.

    اینکه قاطی‌ کردن نداره عزیزم

  24. #24

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    علیک سلام.
    من قاطی نکردم. فقط یک لحظه شک کردم نکنه کل مسیر رو اشتباه رفتم.
    برداشت موضوعی خودم:
    یعنی اگر یه نفر 6 ماه پیش 3000 تومان و 5 ماه پیش 2000 تومان داده باشه بالا تر باشه از فردی که 1 ماه پیش 7000 تومان داده
    اگر منظور شما رو درست متوجه شده باشم باید این جواب بده:
    .....
    فکر کنم محاسبه به این روش عادلانه نباشه
    شما مبلغ های دریافتی رو جمع کردید ولی از بین تاریخ ها آخرین تاریخ رو انتخاب کردید
    باید با تمام تاریخ ها کار کرد و محاسبه رو روی تمام اونا انجام بدیم
    حالا منظورتون رو متوجه شدم.
    چیزی که شما دنبالش هستید در حقیقت محاسبه میانگین موزون یا همون راس گیری هست.
    اگر D تاریخ و P مبلغ باشه:
    Balanced Average = Sigma(P.D) / Sigma(P) = (P1.D1 + P2.D2 + ...) / (P1 + P2 + ...) ---- D is in integer form of date
    کد من میاد تاریخ رو به روش بالا به عدد تبدیل میکنه و از اون میانگین میگیره
    در محاسبات شما عدالت بین این دو نفر رعایت نخواهد شد مگر اینکه از روشی که گفتم استفاده کنید.
    بله دوست عزیز شما درست میگی من این دو نفر رو وارد بانکم کردم و نتایج اشتباه بود
    و ...

    من از این روند به محاسبات موزون برحسب تاریخ - مبلغ می رسم.
    برداشت شما دوست من چیه؟

    این بنده خدا می‌خواد مجموع پرداختی توسط هر نفر و تاریخ آخرین پرداخت رو داشته باشه،
    فکر کنم محاسبه به این روش عادلانه نباشه
    شما مبلغ های دریافتی رو جمع کردید ولی از بین تاریخ ها آخرین تاریخ رو انتخاب کردید
    آیا راه رو اشتباه رفتم یا شما حوصله نداشتید و سریع قضاوت کردید؟

    بهتره دوست عزیزی که سوال رو پرسیده یک اشاره ای کنه ببینیم مساله ایشون بیراهه رفته یا داریم به نتیجه می رسیم..
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  25. #25

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    سلام، منم فکر می‌کنم برداشتم مثل شما است، و از جوابتون خوشم اومد، ولی‌ فکر می‌کنم شاید من اشتباه فهمیدم، برای همین می‌خواستم ببینم در نهایت چه شکلی‌ شده، برای همینه که میگم کوریش چه شکلیه :)

  26. #26
    کاربر دائمی آواتار ali reza mansoori 2
    تاریخ عضویت
    تیر 1387
    محل زندگی
    پشت کامپیوتر
    پست
    732

    نقل قول: مرتب کردن اطلاعات بر اساس تاریخ و کل مبلغ

    دوستان من برنامه رو تحویل دادم و هنوز گزارشی مبنی بر درست کار نکردن به من داده نشده است
    از دوست خوبم You-See تشکر میکنم که منو برای محاسبه این مسئله راهنمایی کردند

    برای روشن شدن دوباره مسئله یکم بیشتر توضیح میدم تا دوستان دیگه بتونن بهتر درک کنند
    فرض کنید یه قطعه زمین رو میخواید بین 50 نفر به صورت مساوی تقسیم کنید اصلی ترین مشکل شما اینه که کی کدوم قسمت رو برمیداره یعنی یکی میخواد زمینش بیفته سر کوچه یکی میخواد بیفته لب نبش یکی میخواد زمینش بیفته داخل کوچه و ....

    حالا فرض کنید هر کدام از این 50 نفر پولی که برای خرید یک قطعه از این زمین پرداخت کردند اصلا روی اصول و مرتب نباشه یعنی نفر اول یه سال پیش کل مبلغ رو داده یا نفر دوم ماهی 20 تومان پرداخت کرده یا نفر سوم همه رو آخر سر پرداخت کرده
    خوب معلومه که نفری که یک سال پیش مبلغ رو پرداخت کرده امتیاز بیشتری باید داشته باشه و زمین بهتر باید بهش بدیم بعد نفر دوم و بعد نفر سوم
    حالا برای محاسبه این امتیاز ها روشی رو که دوستمون You-See معرفی کرد رو انتخاب کردم
    فکر کنم دیگه متوجه صورت سوال شده باشید
    یا علی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •