آژانس هواپیماییexchanging
dakhlestan

GROUP BY و SUM بر اساس 2 فیلد

شروع موضوع توسط hossein_asp ‏19 سپتامبر 2007 در انجمن زبان T-SQL

  1. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد

    من سه تا فیلد به نام id و username و rate دارم حالا می خوام sum(rate) رو حساب کنم در واقع می خوام با یک کوئری نه فقط بر اساس id یکتا بلکه با استفاده از id و username یکتا Sum رو حساب کنم آیا اصلا امکان پذیر هست؟


    [​IMG]
     
  2. sajadonline

    sajadonline Registered User

    تاریخ عضویت:
    ‏22 آگوست 2006
    نوشته ها:
    80
    تشکر شده:
    3
    Sum کل table ro میخوایی ؟ بیشتر توضیح میدی ؟
     
  3. jhoseinii

    jhoseinii Registered User

    تاریخ عضویت:
    ‏20 فوریه 2006
    نوشته ها:
    154
    تشکر شده:
    1
    محل سکونت:
    تهران
    کد:
    select sum(`rate`) from `table_name`
    
    منظورت از sum جمع rate در همه رکورد هاست دیگه ؟
     
  4. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    select sum(`rate`) from `table_name` Group by id + username
    Group by id + username اش من دراوردیه یه همچین چیزی میخوام یعنی سطرهایی که شامل username و id مشابه هست sum(ratesh) رو حساب کنه.
     
  5. alireza sh

    alireza sh مدیر بازنشسته

    تاریخ عضویت:
    ‏2 ژانویه 2006
    نوشته ها:
    2,668
    تشکر شده:
    68
    محل سکونت:
    نصف جهان
    فروم که بیخود ایجاد نمیکنیم ! تشریف بیارین اینجا
     
  6. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    اینجا رو دیدم سوتش حسابی کوره آدم رغبت نمی کنه تاپیک بزنه .حالا چرا میزنی خوب یا انتقال می دادید یا جواب.
     
  7. jhoseinii

    jhoseinii Registered User

    تاریخ عضویت:
    ‏20 فوریه 2006
    نوشته ها:
    154
    تشکر شده:
    1
    محل سکونت:
    تهران
    سطر هایی که username=id ؟ یا چیزه دیگه ای؟
     
  8. alireza sh

    alireza sh مدیر بازنشسته

    تاریخ عضویت:
    ‏2 ژانویه 2006
    نوشته ها:
    2,668
    تشکر شده:
    68
    محل سکونت:
    نصف جهان
    قربان بنده که جسارتی نکردم ! اگر از دست من ناراحتید عذر خواهی میکنم .

    در مورد جواب سوال شما :
    از آنجایی که SUM یک تابع حمعی است باید از group by استفاده کنید . در Group by هم نمیتوانید 3 ستون داشته باشید .
    یک نکته : مگر ID یکتا نیست ؟ پس هر کاربر فقط یک رکورد و یک Rate دارد . درسته ؟

    لطفا سوال را واضح تر مطرح کنید .
     
  9. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    نه خواهش میکنم این حرف ها چیه.

    نه id نمیتونه یکتا باشه چون ساختار اجازه نمیده id+username یک حالت یکتا ایجاد میکنند فکر کنم این سوال من عملا نشدنی هست تصمیم گرفتم username+id کنم یه فیلد یکتا ایجاد بعد Group by رو از فلید جدید حساب کنم کنم این کار فکر کنم راحت تر باشه.

    از همه کسانی که تلاش کردند کمک کنند متشکر.
     
  10. POXER

    POXER Registered User

    تاریخ عضویت:
    ‏20 جولای 2011
    نوشته ها:
    61
    تشکر شده:
    3
    در SQLServer نمیدانم اما در بانک های اطلاعاتی دیگر این کار به راحتی زیر امکان پذیر است :
    کد:
    Select 
    	col_1, 
    	col_2, 
    	sum(rate) as rate_sum 
    from 
    	table
    Group By
    	col_1, 
    	col_2
    
    در بانک اطلاعاتی SQLServer نیز بدون شک این دستورات به همین نحو باید اجرا شوند
     
  11. Elfin

    Elfin Registered User

    تاریخ عضویت:
    ‏9 جولای 2006
    نوشته ها:
    798
    تشکر شده:
    4
    کد بالا توی SQL SERVER هم به خوبی جواب میده !
    فقط توجه کنید هر ستونی که اسمش جلوی select هست باید اسمش جلوی Group by هم باشه !
     
  12. elna

    elna کاربر تازه وارد

    تاریخ عضویت:
    ‏15 سپتامبر 2013
    نوشته ها:
    34
    تشکر شده:
    3
    Ban kanid MARAB,BAkoshid MARAv
     
عسل طبیعی و گرده گل ایرانیavanak