MySQL help

GT9

Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    යාළුවනේ මගේ ටේබල් එකක් තියෙනව. ඒකේ තියෙනව order_place_timespan කියල field එකක්. මා 12ක විතර රෙකෝඩ්ස් තියෙනව.

    මට ඕන මචං වර්තමාන අවුරුද්දේ ඒකිව්වේ 2016 දි ඔතනදි වර්තමාන අවුරුද්ද කියල විශේෂයෙන් කිව්වේ මට current year එක hard කෝඩ් කරන්න ඕන නෑ 2017 උනාම ඉබේ ඒක ගන්න ඕන.

    එම අවුරුද්දේ වර්ථමාන මාසයේ තියෙන දිනයක් පාසා placed orders count එක ගන්න ඕන.

    මම මේක උත්සාහ කරා group by යූස් කරල count කියල mysql function යූස් කරල. මෙතනදි ගුටලුවක් තියෙනව මොකද සමහර දවස් වල එක order එකක් වත් place වෙලා නෑ ඉතින් group by යූස් කරද්දි result එන්නේ order count එක 0 නොවන දවස්වලට විතරයි. :nerd:

    මම මේක union all යූස් කරල කරන්න හැදුව එහෙම කරන්න පුලුවන්. නමුත් හෙන සයිස් statement එකක් වදිනව. ඒක කූඩා කරන්න පුලුවන් ඕන නම් loop එකක් දාල.

    මට මචං මේක කරගන්න පහසුම වැඩේ කියල දෙන්න පුලුවන්ද? මෙතන දි මේක තවත් ටිකක් complex වෙන්නේ union all යූස් කරද්දී එක් එක් මාසෙට තියෙන දින ගනන වෙනස් වෙන නිසා. :P
     

    u_make_me_sick_

    Well-known member
  • Oct 1, 2011
    11,522
    7,320
    113
    oya wage prashna ahanakota sample data and expected answer ekath ekkama ahanna, neththam oyage hithe thiyana de api danne kohomada?
     
    • Like
    Reactions: GT9

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    :D
    :P
    oya wage prashna ahanakota sample data and expected answer ekath ekkama ahanna, neththam oyage hithe thiyana de api danne kohomada?

    මට ඕන මචං හැම මාසෙම තියෙන එක් එක් දවසට place වුන orders count එක ගන්න. orders place උනේ නැති දවස් වලටත් 0 කියල එන්න ඕන count එක. :P

    "order_place_timespan" kiyana feild eke date&time eka add wena format eka mokakda?

    2016-08-05 ඔන්න ඔය වගේ. ටේබල් එකේ නම් තියෙන්නේ timespan string එක. මම mysql from_timespan() කියන function එකෙන් තමයි year, month එක වෙන් කරගන්නේ. :D
     

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    aluth table ekak gahuwoth narkarada |date| count| wage..
    dawasa awasane meke count eka set kara nam hari ne..

    තෑන්ක්ස් මචං. මම union all වලින් වැඩේ කරගත්ත. අලුත් ටේබල් එකක් ඒකටම ගහන එක overkill වගේ. :)
     

    vdilshan

    Well-known member
  • Apr 21, 2011
    1,653
    155
    63
    Colombo, LK
    Code:
    CREATE OR REPLACE VIEW current_month_sales AS SELECT * FROM `tbl_name` WHERE YEAR(order_place_timespan) = YEAR(CURDATE()) and MONTH(order_place_timespan) = MONTH(CURDATE())

    Mehema view ekak hadala thiya ganna, ona unama meken data retrive karanna group karagena. me view eka auto update wenawa every year and month.
     
    Last edited:

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    Code:
    CREATE OR REPLACE VIEW current_month_sales AS SELECT * FROM `tbl_name` WHERE YEAR(order_place_timespan) = YEAR(CURDATE()) and MONTH(order_place_timespan) = MONTH(CURDATE())

    Mehema view ekak hadala thiya ganna, ona unama meken data retrive karanna group karagena.

    thanks you macho, මම union all යූස් කරල array එකක් generate කරගත්ත. දැන් අවුලක් නැතිව වැඩ. :)
     

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    උදව් කරපු හැමෝටම ගොඩක් තෑන්ක්ස්, හැමෝටම රෙප් දුන්න. කෙල්සුපුන්ට විතරක් බෑලු :baffled::dull: කලින් දීල ඇති මම ඒකයි. ;):cool:
     

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    Union dala gannawata wada speed machan View seen eka.

    ඔව් මචං ඒකනම් ඇත්ත තමයි. ගැටලුවකට තියෙන්නේ තව meta data කීපයක්ම ඔය union all statement එකෙන්ම මම ගන්නව. කෝඩ් එක ඕගනයිස් කරගන්නයි හැම දේටම ඒක ලේසි වගේ. ඇප් එකනම් සාමාන්‍ය පොඩි එකක් ගැටලුවක් නැතිව වැඩ. :):):)