Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ sql Π² Π·Π°ΠΏΡΠΎΡΠ΅
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ Π² Transact-SQL β ROW_NUMBER, RANK, DENSE_RANK, NTILE
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Transact-SQL ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΠΈ Π½Π° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΡ ROW_NUMBER, RANK, DENSE_RANK ΠΈ NTILE, ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ, Π²ΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .
Π ΡΠ·ΡΠΊΠ΅ Transact-SQL ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, PIVOT ΠΈΠ»ΠΈ INTERSECT, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΠΈΡ ΠΌΡ Π΄Π°ΠΆΠ΅ Π² Π½Π°ΡΠ΅ΠΌ ΠΌΠΈΠ½ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅ Transact-SQL Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ, Π½ΠΎ Π·Π½Π°ΡΡ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΡ Π΅ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΈ Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, ΡΠΎ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ: ROW_NUMBER, RANK, DENSE_RANK, NTILE.
Π Π½Π°ΡΠ½Π΅ΠΌ ΠΌΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΡΡΠΎ ΠΆΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠΎ Π·Π° ΡΠ°Π½ΠΆΠΈΡΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π Π°Π½ΠΆΠΈΡΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² T-SQL
Π Π°Π½ΠΆΠΈΡΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π³ΡΡΠΏΠΏΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΌ Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠ°, ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΉΡΠΈΠ½Π³Π° ΠΈΠ»ΠΈ ΠΏΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠΉ Π²ΡΠ±ΠΎΡΠΊΠΈ.
Π Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΡΡΠ²ΠΎΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠ΅ ΠΈΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΈΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ, Ρ.Π΅. ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π΅ΡΠ΅ ΠΈ ΡΠ·Π½Π°Π΅ΠΌ Π² ΡΠ΅ΠΌ ΠΈΡ ΠΎΡΠ»ΠΈΡΠΈΠ΅. ΠΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°! ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° SQL ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΌΠΎΡ ΠΊΠ½ΠΈΠ³Ρ Β«SQL ΠΊΠΎΠ΄Β». ΠΠ°Π½Π½ΡΠΉ ΠΊΠ½ΠΈΠ³Π° ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° SQL ΠΊΠ°ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ°, Ρ.Π΅. Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ SQL, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ (Π‘Π£ΠΠ).
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ MS SQL Server Express 2014, Π° Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π² Management Studio Express. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ selling, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠ²Π°ΡΡ (ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ, ΠΏΠ»Π°Π½ΡΠ΅ΡΡ, Π½ΠΎΡΡΠ±ΡΠΊΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) Ρ Π²ΡΠ΄ΡΠΌΠ°Π½Π½ΡΠΌΠΈ ΡΠ΅Π½Π°ΠΌΠΈ.
ΠΠ°ΡΠ° ΡΠ΅ΡΡΠΎΠ²Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π΅ ΡΠ΅ΡΡΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, Π² ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ (Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°ΠΏΡΠΎΡ select)
ROW_NUMBER
ROW_NUMBER β ΡΡΠ½ΠΊΡΠΈΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ Π² Transact-SQL, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ.
ROW_NUMBER () OVER ([PARTITION BY ΡΡΠΎΠ»Π±Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ] ORDER BY ΡΡΠΎΠ»Π±Π΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ)
Π³Π΄Π΅, partition by β ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π° order by ΡΡΠΎΠ»Π±Π΅Ρ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, Ρ.Π΅. ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΡΠΎΠ»Π±ΡΡ Π±ΡΠ΄ΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π°Π½Π½ΡΠ΅, Π° ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΎΠ½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Ρ, ΠΎΠ½ ΡΠΆΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½. Π‘ΡΠ°Π·Ρ ΡΠΊΠ°ΠΆΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΡΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ Π±Π΅Π· Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΠ΅Π½Π΅
ΠΡΠΈΠΌΠ΅Ρ Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΈ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΠ΅Π½Π΅
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π·Π΄Π΅ΡΡ ΡΠΆΠ΅ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ΄Π΅Ρ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ.
RANK β ΡΠ°Π½ΠΆΠΈΡΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π½Π³ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ row_number(), ΠΈΠ΄Π΅Ρ ΡΠΆΠ΅ Π°Π½Π°Π»ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ , ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ°Π½Π³ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ. ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π·Π΄Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ partition by Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π² order by.
ΠΡΠΈΠΌΠ΅Ρ Π±Π΅Π· Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΠ΅Π½Π΅ ΠΈ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ row_number()
ΠΡΠΈΠΌΠ΅Ρ Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΈ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΠ΅Π½Π΅ ΠΈ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ row_number()
DENSE_RANK
DENSE_RANK β ΡΠ°Π½ΠΆΠΈΡΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π½Π³ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ rank, Π² ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π½Π³ Π±Π΅Π· ΠΏΡΠΎΠΏΡΡΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ Π±Π΅Π· Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΠ΅Π½Π΅ ΠΈ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ rank() ΠΈ row_number()
NTILE
NTILE β ΡΡΠ½ΠΊΡΠΈΡ Transact-SQL, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅Π»ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π½Π° Π³ΡΡΠΏΠΏΡ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΡΠΎΠ»Π±ΡΡ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π³ΡΡΠΏΠΏ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. Π ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ Π² Π³ΡΡΠΏΠΏΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠΎΠΊ 10 ΠΈ Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌ Π½Π° ΡΡΠΈ Π³ΡΡΠΏΠΏΡ, ΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π±ΡΠ΄Π΅Ρ 4 ΡΡΡΠΎΠΊΠΈ, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠ΅ΠΉ ΠΏΠΎ 3.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ
ΠΠ°ΠΌΠ΅ΡΠΊΠ°! ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° T-SQL ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠΎΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΡ ΠΏΠΎ T-SQL, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ·ΡΠΊΠ° SQL ΠΈ T-SQL.
ΠΠ° ΡΡΠΎΠΌ Ρ Π΄ΡΠΌΠ°Ρ ΠΏΠΎ ΡΠ°Π½ΠΆΠΈΡΡΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Transact-SQL, Π° Π½Π° ΡΡΠΎΠΌ ΠΏΠΎΠΊΠ° Π²ΡΠ΅. Π£Π΄Π°ΡΠΈ!
ROW_NUMBER (Transact-SQL)
ΠΡΠΌΠ΅ΡΡΠ΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ°. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅ΠΊΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ°, 1 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΠ΅ΠΊΡΠΈΠΉ.
Π€ΡΠ½ΠΊΡΠΈΠΈ ROW_NUMBER ΠΈ RANK ΠΏΠΎΡ ΠΎΠΆΠΈ. ROW_NUMBER Π½ΡΠΌΠ΅ΡΡΠ΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1, 2, 3, 4, 5). RANK Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠ°ΠΌ, ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΡΡΠΈΠΌ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π½Π³ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1, 2, 2, 4, 5).
ROW_NUMBER β ΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°. Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΠΈ Π½ΠΎΠΌΠ΅ΡΠΎΠ² Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π°Ρ Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ IDENTITY ΠΈ SEQUENCE.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Transact-SQL
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Transact-SQL Π΄Π»Ρ SQL Server 2014 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ, ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π²Π΅ΡΡΠΈΡΠΌ.
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
PARTITION BY value_expression
ΠΠ΅Π»ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΎΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ FROM, Π½Π° ΡΠ΅ΠΊΡΠΈΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ROW_NUMBER. value_expression ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΎΠ»Π±Π΅Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ PARTITION BY Π½Π΅ ΡΠΊΠ°Π·Π°Π½, ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ° Π·Π°ΠΏΡΠΎΡΠ° ΠΊΠ°ΠΊ ΠΎΠ΄Π½Ρ Π³ΡΡΠΏΠΏΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ OVER (Transact-SQL).
order_by_clause
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ORDER BY ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠ°ΠΌ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ROW_NUMBER Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ. ΠΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ OVER (Transact-SQL).
Π’ΠΈΠΏΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ
bigint
ΠΠ±ΡΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ.
ΠΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠ»Π±ΡΠ°Ρ ORDER BY ΡΠ²Π»ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ.
Π‘ΠΎΡΠ΅ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΡΠΎΠ»Π±ΡΠ° ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² ORDER BY ΡΠ²Π»ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ ROW_NUMBER() Π½Π΅ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Deterministic and Nondeterministic Functions.
ΠΡΠΈΠΌΠ΅ΡΡ
A. ΠΡΠΎΡΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΡΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
name | recovery_model_desc |
---|---|
master | ΠΠ ΠΠ‘Π’ΠΠ |
model | FULL |
msdb | ΠΠ ΠΠ‘Π’ΠΠ |
tempdb | ΠΠ ΠΠ‘Π’ΠΠ |
ΠΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ | name | recovery_model_desc |
---|---|---|
1 | master | ΠΠ ΠΠ‘Π’ΠΠ |
2 | model | FULL |
3 | msdb | ΠΠ ΠΠ‘Π’ΠΠ |
4 | tempdb | ΠΠ ΠΠ‘Π’ΠΠ |
ΠΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ | name | recovery_model_desc |
---|---|---|
1 | model | FULL |
1 | master | ΠΠ ΠΠ‘Π’ΠΠ |
2 | msdb | ΠΠ ΠΠ‘Π’ΠΠ |
3 | tempdb | ΠΠ ΠΠ‘Π’ΠΠ |
Π. ΠΠΎΠ·Π²ΡΠ°Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ salespeople
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ°ΡΡΠ΅Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ salespeople Π² ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Adventure Works Cycles, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΄Π°ΠΆ Π·Π° ΡΠ΅ΠΊΡΡΠΈΠΉ Π³ΠΎΠ΄.
Π. ΠΠΎΠ·Π²ΡΠ°Ρ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ°ΡΡΠ΅Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠ² Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ SalesOrderHeader Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ OrderDate Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠΎΠΊ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΎΡ 50 Π΄ΠΎ 60 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ.
Π. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ROW_NUMBER() Ρ PARTITION
ΠΡΠΈΠΌΠ΅ΡΡ: Azure Synapse Analytics ΠΈ Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ (PDW)
Π. ΠΠΎΠ·Π²ΡΠ°Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ salespeople
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ROW_NUMBER Π΄Π»Ρ ΡΠΎΡΠ³ΠΎΠ²ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»Ρ Π½ΠΈΡ ΠΊΠ²ΠΎΡΡ ΠΏΡΠΎΠ΄Π°ΠΆ.
ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ.
Π. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ROW_NUMBER() Ρ PARTITION
ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ.
ΠΠΌΡΠ»ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ row_number() Π² MySQL
ΠΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ½ΡΠΌΠ΅ΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠ°. ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ( employees ). Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ 5 ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Ρ ΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 1:
Π Π²ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΌΡ:
ΠΡΡΠ³Π°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π΄ΠΎΡΡΠΈΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΡΠ½ΠΎΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΡΡΠΈΡ Π΄Π²ΡΡ ΡΠ°Π±Π»ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ.
ΠΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ Π² Π³ΡΡΠΏΠΏΠ°Ρ
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠ»Π°ΡΠ΅ΠΆΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅: ΠΎΠ΄Π½Π° β Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΡΡΠΎΠΊΠΈ, Π΄ΡΡΠ³Π°Ρ β Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΡΠ°Π²Π½ΠΈΡΡ Π΅Π³ΠΎ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ. ΠΠ°Ρ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ CASE Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ: Π΅ΡΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎΡΡΠ°ΡΡΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ, ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π½Π° 1, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π²Π½ΡΠΌ 1. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΌ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π½Π° Π²ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±ΡΡΠΌΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°:
Π€ΡΠ½ΠΊΡΠΈΡ ROW_NUMBER ΡΡΡ. 2
Π MySQL ΡΠ°Π½ΠΆΠΈΡΡΡΡΠΈΡ /ΠΎΠΊΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ Π±ΡΠ»ΠΎ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 8.0, ΠΎΠ΄Π½Π°ΠΊΠΎ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π·Π°ΠΏΡΠΎΡΠ΅ SQL. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠΎΠΊ Π·Π°ΠΏΡΠΎΡΠ°. ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅.
|
Π ΡΡΠ΅ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π΅ΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΠΈΡΠΎΠ³Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ Trip Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ 0 (ΠΏΡΠΎΡΡΠΎ Π΄Π΅ΠΊΠ°ΡΡΠΎΠ²ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅).
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ Π½Π° 1, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ORDER BY. Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΡΠΈΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠΎ ΡΡΠΎ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π² ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΡΠΎΡ ΠΆΠ΅ Π·Π°ΠΏΡΠΎΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ . ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ @i, Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎΠ³ΠΎ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π½ΡΠΌΠ΅ΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Ρ.Π΅. ΡΡΠΌΠΈΡΠΈΡΠΎΠ²Π°Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ PARTITION BY Π² Π·Π°ΠΏΡΠΎΡΠ΅
ΠΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ. ΠΠ²Π΅Π΄Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ Π΅ΠΉ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0). ΠΠ°ΡΠ΅ΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π»ΠΈ Π½ΠΎΠΌΠ΅Ρ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, Π±ΡΠ΄Π΅ΠΌ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π² 1. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ (Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ). Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΠΌ Π·Π°ΠΏΡΠΎΡ.
|
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π²ΡΠ±ΡΠ°Π² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° MySQL.
ΠΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π² SQL Server Management Studio
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΡΠ΅Π΄Π΅ SQL Server Management Studio, ΠΈΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ SQL Π·Π°ΠΏΡΠΎΡΠΎΠ² SSMS.
ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ SQL ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π½Π°ΡΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ΅Π΄Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΌΡ Π»Π΅Π³ΠΊΠΎ ΠΈ, Π³Π»Π°Π²Π½ΠΎΠ΅, Π±ΡΡΡΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡΡ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ Π½Π°ΠΌ ΡΡΠ°ΡΡΠΊΡ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠ³Π΄Π° Microsoft SQL Server Π²ΡΠ΄Π°Π΅Ρ Π½Π°ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, Π½ΠΎ ΠΊΡΠΎΠΌΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΅ΡΠ΅ ΠΈ ΡΠΎΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ.Π΅. Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π° ΡΡΡΠΎΠΊΠ΅ 40.
Π ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ Π² SSMS ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠ±Ρ Π½Π΅ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΠΎΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠΈΡΠΊΠΈΠ²Π°Ρ, Π³Π΄Π΅ ΠΆΠ΅ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ Π½Π°ΠΌ ΡΡΠ°ΡΡΠΊΡ.
ΠΡΠΈΠΌΠ΅Ρ Π±Π΅Π· Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°
Π‘ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ SQL Π·Π°ΠΏΡΠΎΡΠΎΠ² SSMS
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ SQL Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Ρ.
ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΡΠΎ Π²ΡΠ΅, Π½Π°Π΄Π΅ΡΡΡ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΡΠ» ΠΠ°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΏΠΎΠΊΠ°!