рдорд╛рдЗрдХреНрд░реЛ рдиреЛрдЯ: Iterators / рдЬрдирд░реЗрдЯрд┐рдВрдЧ рдбреЗрдЯ рд░реЗрдВрдЬ, рдирдВрдмрд░ рдЖрджрд┐ред

рдпрд╣ рдиреЛрдЯ " рд╡рд░реНрд╖ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдорд╣реАрдиреЗ рдореЗрдВ рдХреИрд▓реЗрдВрдбрд░ рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрд┐рдирддреА " рд╡рд┐рд╖рдп рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИред рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рдВрднрд╡ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рдПрдХ рд╕реВрдХреНрд╖реНрдо рдиреЛрдЯ рд╣реИред

рдпрджреНрдпрдкрд┐ рдЙрд╕ рд╡рд┐рд╖рдп рдХрд╛ рдХрд╛рд░реНрдп рдмрд╣реБрдд рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдФрд░ рдорд╛рдорд▓реЗ рдХреЗ рд╕рд╛рде рдпрд╛ рдкрд╛рд╕ рд╣реЛрдиреЗ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╢рд╛рдВрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:

SELECT

sum (

CASE

when t.`start_date`< '2010-02-01' and t.end_date> '2010-01-01' then 1

else 0

end

)

AS jan,

sum (

CASE

when t.`start_date`< '2010-03-01' and t.end_date> '2010-02-01' then 1

else 0

end

)

AS feb,

...

FROM test t








рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдореИрдиреНрдпреБрдЕрд▓ рдХрд╛рдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рдордЭрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдореЗрдВ рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ рдирд╣реАрдВ рдФрд░ рджреЛ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐, рдХрд╣рдирд╛ рд╣реЛрдЧрд╛, рдкрд┐рдЫрд▓реЗ 5 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдорд╛рд╕рд┐рдХ рдЖрдзрд╛рд░ рдкрд░ред рд╕рд╣рдордд рд╣реВрдБ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, ifs рдХреЗ рд╕рд╛рде 60 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдХрдо рд╕реЗ рдХрдо рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред



JayDi рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рддрд╛рд░реАрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЗрдордкреНрд▓реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реБрдП рдЪрд▓рд╛ рдЧрдпрд╛ , рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐рдпреЛрдВ (рджреИрдирд┐рдХ, рдорд╛рд╕рд┐рдХ рдпрд╛ рджреВрд╕рд░реЗ, рдЖрджрд┐) рдХреЗ рд╕рд╛рде ... рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА-рдХрднреА рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред



рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрдорд╛рдиреА рд╣реИрдВред рдУрд░реЗрдХрд▓ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рдЙрдВрдЯрд░ рдЯрд╛рдЗрдо рд░реЗрдВрдЬ рдХреА рдкреАрдврд╝реА рдЖрдк рдХреА рддрд░рд╣ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, " рдкрдВрдХреНрддрд┐рдмрджреНрдз рд╕реЗ рджреЛрд╣рд░реА рдХрдиреЗрдХреНрдЯ рд╕реЗ рдкрдВрдХреНрддрд┐ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ <n ", рдпрд╛ рдПрдХ pipelined рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдХрд░, рдпрд╛ dbms_qql рд╕реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ред Mysql рдореЗрдВ, рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, "рдХрдиреЗрдХреНрдЯ" рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реВрдЪрдирд╛_рдирд┐рд░реНрдорд╛рддрд╛ рд╣реИ - рдУрд░реЗрдХрд▓ рдбреЗрдЯрд╛ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ, рдФрд░ рдСрд░реНрдХреЗрд▓рд┐рд╕реНрдЯ рдЕрдХреНрд╕рд░ рдЯреЗрд╕реНрдЯ рд░рди рдХреЗ рд▓рд┐рдП " рдЪреБрдирд┐рдВрджрд╛ рдкрдВрдХреНрддрд┐рдмрджреНрдзрдо рдЬреИрд╕реЗ рдСрд▓_рдСрдмреНрдЬреЗрдХреНрдЯ " рдЬреИрд╕реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



2010 рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ 10 рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рдФрд░ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдирдореВрдирд╛:

-- set @rownumber:=0;

select

case

when @rownumber is null

then @rownumber:=1

else @rownumber:=@rownumber+1

end n,

DATE_FORMAT(

date_add( '2010-01-01' , interval @rownumber month ),

'%Y.%m' ) month

from

information_schema.columns t

limit 10




* This source code was highlighted with Source Code Highlighter .






рдпрд╣рд╛рдБ, information_schema.column рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реЛрддреА рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдирдореЗрдВ рд╕реЗ 5281 рд╣реИрдВ)ред рдХрд╛рдЙрдВрдЯрд░ рдЪрд░ рдХреЛ рдЕрд╢рдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рд▓рд╛рдЗрди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

 n рдорд╣реАрдирд╛
 1 2010.01
 2 2010.02
 3 2010.03
 4 2010.04
 5 2010.05
 6 2010.06
 7 2010.07
 8 2010.08
 9 2010.09
 10 2010.10


рдЕрдм рдЖрдк рдЕрдкрдиреА рд╢рд░реНрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдкрдиреА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдорд╣реАрдиреЛрдВ (рдкрдВрдХреНрддрд┐рдпреЛрдВ) рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рд╕реАрдорд╛ рдХреЗ рдмрдЬрд╛рдп, рд╢рд░реНрддреЛрдВ рдХреЛ рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо рддрд┐рдерд┐рдпреЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдВред



рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди: "рд╣реЗрдб-рдСрди" рд╕рдорд╛рдзрд╛рди - рдХрд░реНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдареАрдХ рд╣реИ, рдпрджрд┐ рд╣рдо рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХрд░реНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ (рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ (рдЙрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ ...)



All Articles