MySQLの時間をカウントするには?私はダウンし、以下のようなテーブルがあります。どのようにMySQLのグループのIDで時間をカウントするには?
id | time |
01 | 00:36:00 |
01 | 01:00:00 |
02 | 00:30:00 |
をし、私はこのようなidで、このグループをカウントするには時間が必要になります。
id | time |
01 | 01:36:00 |
02 | 00:30:00 |
MySQLの時間をカウントするには?私はダウンし、以下のようなテーブルがあります。どのようにMySQLのグループのIDで時間をカウントするには?
id | time |
01 | 00:36:00 |
01 | 01:00:00 |
02 | 00:30:00 |
をし、私はこのようなidで、このグループをカウントするには時間が必要になります。
id | time |
01 | 01:36:00 |
02 | 00:30:00 |
私が何をしたいことはsum
SELECT
RIGHT('0' + CAST (FLOOR(COALESCE (SUM(
datediff(second,
cast('1900-01-01' as datetime),
cast(time as datetime)
)/3600.0), 0)/60) AS VARCHAR (8)), 2)
+ ':' +
RIGHT('0' + CAST (FLOOR(COALESCE (SUM(
datediff(second,
cast('1900-01-01' as datetime),
cast(time as datetime)
)/3600.0), 0) % 60) AS VARCHAR (2)), 2) + ':' +
RIGHT('0' + CAST (FLOOR((SUM(
datediff(second,
cast('1900-01-01' as datetime),
cast(time as datetime)
)/3600.0)* 60) % 60) AS VARCHAR (2)), 2)
as DecimalHours
, ID
FROM #t
group by ID
だと思います
私が行ったことは、あなたの時間を小数点に変換してから(今度はSUM
を実行できる)、合計を時間フォーマットにフォーマットしました。
時間を2番目に変換し、合計して再フォーマットすることができます。
SELECT
id,
CONCAT(
LPAD(FLOOR(seconds/3600), 2, '0'), ':', -- hour
LPAD(FLOOR((seconds % 3600)/60), 2, '0'), ':', -- minute
LPAD(seconds % 60, 2, '0')) as time -- second
FROM
(SELECT id,
SUM(CAST(SUBSTRING(time, 1, 2) AS UNSIGNED) * 3600
+ CAST(SUBSTRING(time, 4, 2) AS UNSIGNED) * 60
+ CAST(SUBSTRING(time, 7, 2) AS UNSIGNED)) AS seconds
FROM <your table name>
GROUP BY id) AS summary
あなたがここにhttp://rextester.com/INOI78655私だけの時間を合計する必要が
デモを参照することができ、どのようにそれを行うには? –
これは時間の合計を返します。あなたはそれを実行しようとしましたか? @デヴィアン –