π ΠΠ°ΠΊ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π² SQL: ΡΠΎΠ²Π΅ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π² SQL, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ TIME.
SELECT
SUM(TIME_TO_SEC(time_column))
FROM
your_table;
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠΎΠ»Π±Π΅Ρ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ TIME_TO_SEC ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° ΡΡΠ½ΠΊΡΠΈΡ SUM ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ ΠΈΡ .
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π² SQL?
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² SQL-Π·Π°ΠΏΡΠΎΡΠ°Ρ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΈΠ»ΠΈ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π SQL ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΊ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
1. Π‘ΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ TIME
ΠΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ TIME, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ SUM() Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ CONVERT() Π΄Π»Ρ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT SUM(CONVERT(TIME, Π²ΡΠ΅ΠΌΡ_Π·Π°Π΄Π°ΡΠΈ)) AS ΠΎΠ±ΡΠ΅Π΅_Π²ΡΠ΅ΠΌΡ FROM Π·Π°Π΄Π°ΡΠΈ;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ "Π·Π°Π΄Π°ΡΠΈ". Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ TIME.
2. Π‘ΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ DATETIME ΠΈΠ»ΠΈ TIMESTAMP
ΠΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ DATETIME ΠΈΠ»ΠΈ TIMESTAMP, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ DATEPART() ΠΈ SUM() Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT
SUM(DATEPART(HOUR, Π²ΡΠ΅ΠΌΡ_Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ)) AS ΡΡΠΌΠΌΠ°ΡΠ½ΡΠ΅_ΡΠ°ΡΡ,
SUM(DATEPART(MINUTE, Π²ΡΠ΅ΠΌΡ_Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ)) AS ΡΡΠΌΠΌΠ°ΡΠ½ΡΠ΅_ΠΌΠΈΠ½ΡΡΡ,
SUM(DATEPART(SECOND, Π²ΡΠ΅ΠΌΡ_Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ)) AS ΡΡΠΌΠΌΠ°ΡΠ½ΡΠ΅_ΡΠ΅ΠΊΡΠ½Π΄Ρ
FROM Π΄Π΅ΠΉΡΡΠ²ΠΈΡ;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΡΠ°Π»Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄ΠΎ Π΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ "Π΄Π΅ΠΉΡΡΠ²ΠΈΡ". Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΡΠΎΠ², ΠΌΠΈΠ½ΡΡ ΠΈ ΡΠ΅ΠΊΡΠ½Π΄ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
3. ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ DATEDIFF()
Π SQL ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ DATEDIFF(), ΡΡΠΎΠ±Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π΄Π°ΡΠ°ΠΌΠΈ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT
SUM(DATEDIFF(SECOND, Π²ΡΠ΅ΠΌΡ_Π½Π°ΡΠ°Π»Π°, Π²ΡΠ΅ΠΌΡ_Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ)) AS ΠΎΠ±ΡΠ΅Π΅_Π²ΡΠ΅ΠΌΡ_Π²_ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
,
SUM(DATEDIFF(MINUTE, Π²ΡΠ΅ΠΌΡ_Π½Π°ΡΠ°Π»Π°, Π²ΡΠ΅ΠΌΡ_Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ)) AS ΠΎΠ±ΡΠ΅Π΅_Π²ΡΠ΅ΠΌΡ_Π²_ΠΌΠΈΠ½ΡΡΠ°Ρ
FROM ΡΠΎΠ±ΡΡΠΈΡ;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π°ΡΠ°Π»Π° ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ "ΡΠΎΠ±ΡΡΠΈΡ". Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ°ΠΊ ΡΡΠΌΠΌΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ΠΈ ΠΌΠΈΠ½ΡΡΠ°Ρ .
4. ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ TIMEDIFF()
Π€ΡΠ½ΠΊΡΠΈΡ TIMEDIFF() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT TIMEDIFF(Π²ΡΠ΅ΠΌΡ_ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ, Π²ΡΠ΅ΠΌΡ_Π½Π°ΡΠ°Π»Π°) AS ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ FROM ΡΠ΅Π°Π½ΡΡ;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π°Π½ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°ΡΠ°Π»Π° ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ "ΡΠ΅Π°Π½ΡΡ". Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² SQL ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠ° Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ SUM(), CONVERT(), DATEPART(), DATEDIFF() ΠΈ TIMEDIFF() ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².