sql උදවුවක්

MaxFunMan

Active member
  • Dec 10, 2014
    724
    247
    43
    මේ table එකේ තියන විදිද්යට data තියන table එකක ,
    වැඩිම date එකේ total එක ගන්ට qury එකක් හදන්නේ කොහොමද ,.

    iddateamountamount2-to10
    1​
    1/1/2020​
    1000​
    1​
    1/3/2020​
    1558​
    1​
    1/3/2020​
    126​
    2​
    2/5/2020​
    4921​
    2​
    2/5/2020​
    15​
    2​
    1/1/2020​
    5951​
    2​
    1/2/2020​
    1588​
    2​
    1/3/2020​
    1568​
    2​
    1/4/2020​
    12558​
    3​
    5/5/2020​
    1558​
    3​
    1/1/2020​
    1258​
    3​
    3/1/2020​
    5599​


    උතරය එන්ට ඕනි ,
    මේ row 3න් අන්තිම 2කේ එකතුව ,
    1,1/3/2020,1684
    හැම එකටම එක row විදියට එකතුව ඕනි
    1​
    1/1/2020​
    1000​
    1​
    1/3/2020​
    1558​
    1​
    1/3/2020​
    126​
    උදවු කරපු හැමෝටම thabks ,
    පොඩි අවුලක් තියනවා amount තියන colom 10ක් තියනවා ,a නිසා තාම අවුල
     
    Last edited:

    MaxFunMan

    Active member
  • Dec 10, 2014
    724
    247
    43
    උදවු කරපු හැමෝටම thabks ,
    පොඩි අවුලක් තියනවා amount තියන colom 10ක් තියනවා ,a නිසා තාම අවුල
     
    • Like
    Reactions: Stimulus mind

    CorD SaC

    Well-known member
  • Feb 4, 2015
    15,745
    28,108
    113
    Try this :)


    SQL:
    select id, [date], sum_amount, sum_amount2
    from
    (
      select
        id, [date], sum(amount) as sum_amount, sum(amount2) as sum_amount2,
        max([date]) over (partition by id) as max_date_for_id
      from mytable group by id, [date]
    ) aggregated
    where [date] = max_date_for_id
    order by id;


    or

    SQL:
    select  id, [date], sum(amount) as amount1, sum(amount2) as amount2
    from
    (
        select  *,
                dr = dense_rank () over (partition by id order by [date] desc)
        from    mytable
    ) t
    where   dr  = 1
    group by id, [date]


    Test on : http://sqlfiddle.com/#!18/a39a4/3

    For more info : https://docs.microsoft.com/en-us/sql/t-sql/functions/dense-rank-transact-sql?view=sql-server-ver15
     
    Last edited:

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,911
    1
    9,712
    113
    Gampaha
    උදවු කරපු හැමෝටම thabks ,
    පොඩි අවුලක් තියනවා amount තියන colom 10ක් තියනවා ,a නිසා තාම අවුල
    view ekak hadala answered query try karanna.

    SQL:
    CREATE VIEW view_name AS
    SELECT SUM(column1+column2, ...) as tot_amount
    FROM table_name
     
    • Like
    Reactions: Stimulus mind