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

نام تاپیک: بدست آوردن آخرین رکورد خرید مشتریان

  1. #1
    کاربر دائمی آواتار Naghibi
    تاریخ عضویت
    مهر 1387
    محل زندگی
    مشهد
    پست
    221

    بدست آوردن آخرین رکورد خرید مشتریان

    با سلام خدمت همه برنامه نویسان گرامی

    من یه جدول دارم که شامل فیلدهای CustomerID و BuyDate و Cost است. توی این جدول اطلاعات خرید مشتریان ذخیره میشود. میخوام یک select بنویسم که آخرین رکورد خرید هر مشتری رو نشون بده و اگر میشه sum این رکوردها رو هم محاسبه کنه. اما نمیدونم چه جوری میشه یه همچین دستوری نوشت؟ لطفا منو راهنمایی کنین

  2. #2

    نقل قول: بدست آوردن آخرین رکورد خرید مشتریان

    توی جدولتون فقط همین سه فیلد را دارید؟

  3. #3

    نقل قول: بدست آوردن آخرین رکورد خرید مشتریان

    سلام
    آخرین رکورد خرید اگه تاریخ هاتون شمسی ذخیره شده با Max(BuyDate) قابل دستیابی هست.

    select customerid, sum(cost), (select max(buydate) from buy where customerid=b.customerid) from buy b
    group by customerid

  4. #4

    نقل قول: بدست آوردن آخرین رکورد خرید مشتریان

     

    --SQL Server Any Version
    SELECT T.*,
    D.sm as total
    FROM
    (
    SELECT CustomerID,
    MAX(BuyDate) as mx,
    SUM(Cost) as sm
    FROM table_name
    GROUP BY CustomerID
    )D
    INNER JOIN table_name T
    ON D.mx = T.BuyDate
    AND D.customerID = T.customerID;

    --SQL Server >= 2005
    SELECT CustomerID و BuyDate و Cost, total
    FROM
    (
    SELECT *,
    SUM(Cost) OVER(PARTITION BY CustomerID) as total
    ROW_NUMBER() OVER(PARTITION BY CustomerID ORDER BY BuyDate DESC) as rnk
    FROM table_name
    )D
    WHERE rnk = 1;
    وبلاگ من (Advanced SQL Querying)

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    54

    نقل قول: بدست آوردن آخرین رکورد خرید مشتریان

    سلام
    یک نگاهی به این پست بینداز. احتمالا خیلی راحت مشکلت حل میشه.
    دستوری در Sql2005 و Sql2008 اضافه شده است با نام Outer Apply و Cross Apply
    http://argess.ir/Persian/QuestionVie...uestionId=1006

  6. #6

    نقل قول: بدست آوردن آخرین رکورد خرید مشتریان

    با سلام به همگی
    من در این مورد یه سوالی داشتم
    دستوراتی که در بالا گفتین مال زمانی است که آخرین سفارش مشتریان فقط شامل یک رکورد باشد، حالا اگه تعداد رکوردها بیشتر باشد به چه صورتی باید عمل بشه، تعداد رکوردهایی که برای یک روز خاص دارم بیشتر از یک رکورد است ولی تعداد آنها نیز مشخص نیست، ممکن است برای یک مشتری 5 رکورد باشد ، ممکن است 10 رکورد باشد، میخوام کل اطلاعات یک مشتری برای آخرین تاریخ نمایش داده شد.
    ممنون میشم اگه راهنمایی بفرمایید

  7. #7

    نقل قول: بدست آوردن آخرین رکورد خرید مشتریان

    سلام

    create table Customer
    (
    Id int primary key,
    Fname nvarchar(20),
    )


    create table [Order]
    (
    Id int,
    CustomerID int,
    Tarikh datetime,
    constraint FK1 foreign key (Id) references Customer(Id)
    )


    کوئری لیست تمام مشتریان می آورد بعد آخرین تاریخ سفارششان هم نمایش می دهد
    نکته اینه که باید left join کنی و گروه بندی بر اساس نام

    select MAX(Tarikh),Fname from Customer left join [Order] on Customer.Id=[Order].CustomerID
    group by (Fname)

تاپیک های مشابه

  1. بدست آوردن آخرین رکورد درج شده در جدول
    نوشته شده توسط programerinfonet در بخش C#‎‎
    پاسخ: 4
    آخرین پست: یک شنبه 30 مهر 1391, 10:22 صبح
  2. سوال: بدست آوردن آخرین رکورد
    نوشته شده توسط khz-web1 در بخش VB.NET
    پاسخ: 1
    آخرین پست: جمعه 07 فروردین 1388, 04:00 صبح
  3. بدست آوردن آخرین رکورد
    نوشته شده توسط atishatish در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 03 مهر 1387, 21:24 عصر
  4. سوال: بدست آوردن آخرین رکورد Insert شده
    نوشته شده توسط حسین محمدی در بخش SQL Server
    پاسخ: 3
    آخرین پست: یک شنبه 02 تیر 1387, 09:12 صبح
  5. بدست آوردن آخرین رکورد Insert شده
    نوشته شده توسط A.Nemati در بخش SQL Server
    پاسخ: 2
    آخرین پست: شنبه 24 فروردین 1387, 15:50 عصر

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

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