CodeGym/Java Course/All lectures for MR purposes/рдПрдХрддреНрд░рд┐рдд рдХрд╛рд░реНрдпреЗ

рдПрдХрддреНрд░рд┐рдд рдХрд╛рд░реНрдпреЗ

рдЙрдкрд▓рдмреНрдз

6.1 рдПрдХреВрдг рдХрд╛рд░реНрдпрд╛рдВрдЪреА рд╕реВрдЪреА

рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдСрдкрд░реЗрдЯрд░рд╕рд╣ SQL рдордзреНтАНрдпреЗ рдкрдВрдХреНрддреА рдЧрдЯрдмрджреНрдзрддрд╛ рд╡рд╛рдкрд░рддрд╛ GROUP BY, рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА SELECTрдЧрдЯрдмрджреНрдз рдбреЗрдЯрд╛рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рд╡рд┐рдзрд╛рдирд╛рддреАрд▓ рдлрдВрдХреНрд╢рдиреНрд╕ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. рдЕрд╢рд╛ рдХрд╛рд░реНрдпрд╛рдВрдирд╛ рдПрдХрддреНрд░рд┐рдд рдХрд╛рд░реНрдпреЗ рджреЗрдЦреАрд▓ рдореНрд╣рдгрддрд╛рдд.

рдпреЗрдереЗ рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдпрд╛рджреА рдЖрд╣реЗ:

# рдХрд╛рд░реНрдп рд╡рд░реНрдгрди
рез COUNT() рдЧрдЯрд╛рддреАрд▓ рдореВрд▓реНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдорд┐рд│рд╡рддреЗ
2 SUM() рд╕рдореВрд╣рд╛рддреАрд▓ рдореВрд▓реНрдпрд╛рдВрдЪреА рдмреЗрд░реАрдЬ рдорд┐рд│рд╡рддреЗ
3 MAX() рдЧрдЯрд╛рдЪреЗ рдХрдорд╛рд▓ рдореВрд▓реНрдп рдорд┐рд│рд╡рддреЗ
4 MIN() рдЧрдЯрд╛рдЪреЗ рдХрд┐рдорд╛рди рдореВрд▓реНрдп рдорд┐рд│рд╡рддреЗ
рел AVG() рдЧрдЯрд╛рдЪрд╛ рдордзреНрдп рдорд┐рд│рд╡рддреЗ
6 BIT_AND() bitwise рдЖрдгрд┐ рд╕рд░реНрд╡ рдЧрдЯ рдореВрд▓реНрдпрд╛рдВрд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ
рен BIT_OR() bitwise рдХрд┐рдВрд╡рд╛ рд╕рд░реНрд╡ рдЧрдЯ рдореВрд▓реНрдпрд╛рдВрд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ
8 BIT_XOR() рд╕рд░реНрд╡ рдЧрдЯ рдореВрд▓реНрдпрд╛рдВрд╡рд░ bitwise XOR рдХрд░рддреЗ
реп GROUP_CONCAT() рд╕рд░реНрд╡ рдЧрдЯ рдореВрд▓реНрдпреЗ рдПрдХрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХрд░рддреЗ
рд╣реА рдПрдХрдВрджрд░ рдлрдВрдХреНрд╢рдиреНрд╕рдЪреА рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреА рдирд╛рд╣реА, рдкрд░рдВрддреБ рдмрд╛рдХреАрдЪреЗ рдЕрддрд┐рд╢рдп рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╣реЗрдд рдЖрдгрд┐ рдорд▓рд╛ рд╡рд╛рдЯрдд рдирд╛рд╣реА рдХреА рддреБрдореНрд╣реА рдкреБрдвреАрд▓ 5 рд╡рд░реНрд╖рд╛рдВрдд рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рд╛рд▓. рддреБрдореНрд╣рд╛рд▓рд╛ рддрд░реАрд╣реА рддреНрдпрд╛рдВрдЪреА рдЧрд░рдЬ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ DBMS рд╕рд╛рдареА рдЕрдзрд┐рдХреГрдд рдХрд╛рдЧрджрдкрддреНрд░реЗ рдиреЗрд╣рдореА рд╡рд╛рдЪреВ рд╢рдХрддрд╛.

рдЖрддрд╛ рдЖрдкрд▓реНрдпрд╛ рдПрдХреВрдг рдХрд╛рд░реНрдпрд╛рдВрд╕рд╣ рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗ рдкрд╛рд╣реВ.

6.2 рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрдЪреНрдпрд╛ рдкрдЧрд╛рд░рд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреЗ

рдХрд░реНрдордЪрд╛рд░реА рдЯреЗрдмрд▓рд╡рд░реВрди рдЖрдордЪреНрдпрд╛ рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрдЪреА рдХрд╛рд╣реА рдЖрдХрдбреЗрд╡рд╛рд░реА рдореЛрдЬреВрдпрд╛ .

рдкреНрд░рд╢реНрди рдПрдХ: рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдХрд┐рддреА рдХрд░реНрдордЪрд╛рд░реА рдЖрд╣реЗрдд?

рдЬрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕рд╛рд░рдгреАрддреАрд▓ рд╕рд░реНрд╡ рдиреЛрдВрджреАрдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╢реЛрдзрд╛рдпрдЪреА рдЕрд╕реЗрд▓, рддрд░ рдЖрдкрдг рдпрд╛рд╕рд╛рдареА рдПрдХрддреНрд░рд┐рдд рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ COUNT. рд╡рд┐рдирдВрддреА рдЕрд╕реЗ рджрд┐рд╕реЗрд▓:

SELECT COUNT(*) FROM employee

рдЖрдгрд┐ MySQL рдкреНрд░рддрд┐рд╕рд╛рдж рдореНрд╣рдгреВрди 6 рдХреНрд░рдорд╛рдВрдХ рдкрд░рдд рдХрд░реЗрд▓. рдЖрдордЪреНрдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рдд рдПрдХрд╛ рдорд╛рдВрдЬрд░реАрд╕рд╣ 6 рдХрд░реНрдордЪрд╛рд░реА рдЖрд╣реЗрдд. рдареАрдХ рдЖрд╣реЗ.

рдкреНрд░рд╢реНрди рджреЛрди: рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдирд╛ рджрд░рдорд╣рд╛ рдХрд┐рддреА рдкреИрд╕реЗ рджреЗрддреЛ?

рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЙрддреНрддрд░ рджреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреНрдпрд╛ рдкрдЧрд╛рд░рд╛рдЪреА рдмреЗрд░реАрдЬ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдПрдХрддреНрд░рд┐рдд рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░рддреЛSUM()

рд╡рд┐рдирдВрддреА рдЕрд╕реЗ рджрд┐рд╕реЗрд▓:

SELECT SUM(salary) FROM employee

рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рдпрд╛рд╡реЗрд│реА рдЖрдкрдг рдХреЛрдгрддреНрдпрд╛ рд╕реНрддрдВрднрд╛рдЪрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджреЗрдд рдЖрд╣реЛрдд рдпрд╛рдЪреА рдореВрд▓реНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдореНрд╣реА рд╡реЗрддрди рд╕реНрддрдВрдн рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЖрд╣реЗ . рдЖрдкрдг рд╕рд╛рд░рдгреАрддреАрд▓ рд╕рд░реНрд╡ рдлреАрд▓реНрдбрдЪреА рдмреЗрд░реАрдЬ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА.

рдЖрдгрд┐ MySQL рдЙрддреНрддрд░ рдореНрд╣рдгреВрди 461000 рдХреНрд░рдорд╛рдВрдХ рдкрд░рдд рдХрд░реЗрд▓. рдЖрдордЪреНрдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рдд 6 рдХрд░реНрдордЪрд╛рд░реА рдЖрд╣реЗрдд, рдЖрдгрд┐ рдкрдЧрд╛рд░ 461 рд╣рдЬрд╛рд░ рдЖрд╣реЗ. рдЦреВрдк рдЬрд╛рд╕реНрдд.

рдЖрдгрд┐ рд╢реЗрд╡рдЯреА, рддрд┐рд╕рд░рд╛ рдкреНрд░рд╢реНрди: рд╡рд┐рднрд╛рдЧрд╛рдд рдЖрдордЪреЗ рдХрдорд╛рд▓ рдЖрдгрд┐ рдХрд┐рдорд╛рди рдкрдЧрд╛рд░ рдХрд┐рддреА рдЖрд╣реЗрдд? рдмрд░рдВ, рд╕рд░рд╛рд╕рд░реА рдкрдЧрд╛рд░рд╛рдЪреА рдЧрдгрдирд╛ рдХрд░реВрдпрд╛. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА , рдЖрдореНрд╣рд╛рд▓рд╛ рдлрдВрдХреНрд╢рдиреНрд╕ MINрдЖрдгрд┐ MAX.AVG

рдпрд╛рд╡реЗрд│реА рдХреНрд╡реЗрд░реА рдереЛрдбреА рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдпрд╛рд╕рд╛рд░рдЦреА рджрд┐рд╕реЗрд▓:

SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee

рдпрд╛ рдХреНрд╡реЗрд░реАрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдЕрд╕реЗрд▓:

MIN(рдкрдЧрд╛рд░) AVG(рдкрдЧрд╛рд░) MAX(рдкрдЧрд╛рд░)
1000 ренремреорейрей.рейрейрейрей 200000

рдЖрдордЪреНрдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рддреАрд▓ рдХрд┐рдорд╛рди рд╡реЗрддрди $1,000 рдЖрд╣реЗ тАУ рдЦреВрдк рдЪрд╛рдВрдЧрд▓реЗ. рдХрдорд╛рд▓ рдкрдЧрд╛рд░ 200 рд╣рдЬрд╛рд░ рдЖрд╣реЗ, рдкрдг рд╣рд╛ рджрд┐рдЧреНрджрд░реНрд╢рдХ рдЖрд╣реЗ.

рдкрд░рдВрддреБ рд╕рд░рд╛рд╕рд░реА рдкрдЧрд╛рд░ рдЦреВрдк рдЬрд╛рд╕реНрдд рдЖрд╣реЗ, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╕рд╛ рддрд░реА рдЦрд░реНрдЪ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЪрд▓рд╛ рджреБрд╕рд░реА рдорд╛рдВрдЬрд░ рднрд╛рдбреНрдпрд╛рдиреЗ рдШреЗрдК рдЖрдгрд┐ рддреЗ рдЭрд╛рд▓реЗ :)

рдЯрд┐рдкреНрдкрдгреНрдпрд╛
  • рд▓реЛрдХрдкреНрд░рд┐рдп
  • рдирд╡реАрди
  • рдЬреБрдиреЗ
рдЯрд┐рдкреНрдкрдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рд╕рд╛рдИрди рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
рдпрд╛ рдкрд╛рдирд╛рд╡рд░ рдЕрдЬреВрди рдХреЛрдгрддреНрдпрд╛рд╣реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдирд╛рд╣реАрдд