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() | рд╕рд░реНрд╡ рдЧрдЯ рдореВрд▓реНрдпреЗ рдПрдХрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХрд░рддреЗ |
рдЖрддрд╛ рдЖрдкрд▓реНрдпрд╛ рдПрдХреВрдг рдХрд╛рд░реНрдпрд╛рдВрд╕рд╣ рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗ рдкрд╛рд╣реВ.
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 рд╣рдЬрд╛рд░ рдЖрд╣реЗ, рдкрдг рд╣рд╛ рджрд┐рдЧреНрджрд░реНрд╢рдХ рдЖрд╣реЗ.
рдкрд░рдВрддреБ рд╕рд░рд╛рд╕рд░реА рдкрдЧрд╛рд░ рдЦреВрдк рдЬрд╛рд╕реНрдд рдЖрд╣реЗ, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╕рд╛ рддрд░реА рдЦрд░реНрдЪ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЪрд▓рд╛ рджреБрд╕рд░реА рдорд╛рдВрдЬрд░ рднрд╛рдбреНрдпрд╛рдиреЗ рдШреЗрдК рдЖрдгрд┐ рддреЗ рдЭрд╛рд▓реЗ :)