πŸ”Ž Как ΠΏΡ€ΠΎΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя Π² 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() ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ суммарноС врСмя ΠΈΠ»ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя значСниями Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² вашСй Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ примСняйтС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для получСния ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² SQL

Π£Ρ€ΠΎΠΊ 16. SQL advanced. Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с timestamp ΠΈ date

Π―Π·Ρ‹ΠΊ SQL Π§Π°ΡΡ‚ΡŒ 3. Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Ρ‚ΠΎΠΉ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² MySQL

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ UNION ALL SQL: объСдинСниС Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· удалСния Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ²

Как ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² SQL Management Studio: шаг Π·Π° шагом руководство

πŸ”Ž Как ΠΏΡ€ΠΎΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя Π² SQL: совСты ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

3 простых способа ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ SQL Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ