mysqlの結合を使用して時間差を得るのに問題があります。私は時差のために最小値と最大値で演奏しましたが、それを動作させることはできません。何か助けてくれてありがとう。MySQLでの結合との時間差を正確に取得する
SELECT DISTINCT
ab.record AS `record`,
ab.timeIn AS `timeIN`,
de.timeOut AS `timeOut`,
TIMEDIFF(de.timeOut,ab.timeIn) AS `timeDifference`,
ab.description AS `description`,
FROM
TableA ab
INNER JOIN TableB de ON de.record = ab.record
GROUP BY `timeIn`, `description`
これはこれは、MySQLの時間差
結果希望するどのような+----+--------+---------------------+---------------------+----------------+-------------+
| id | record | timeIn | timeOut | timeDifference | description |
+----+--------+---------------------+---------------------+----------------+-------------+
| 1 | 9 | 2017-03-25 12:41:59 | 2017-03-25 12:47:17 | 00:05:18 | productA |
+----+--------+---------------------+---------------------+----------------+-------------+
| 2 | 11 | 2017-03-25 12:42:00 | 2017-03-25 15:10:10 | 02:28:10 | productB |
+----+--------+---------------------+---------------------+----------------+-------------+
| 4 | 14 | 2017-03-25 12:42:00 | 2017-03-25 12:47:18 | 00:05:18 | productC |
+----+--------+---------------------+---------------------+----------------+-------------+
| 5 | 11 | 2017-03-25 15:00:35 | 2017-03-25 15:10:10 | 00:09:35 | productB |
+----+--------+---------------------+---------------------+----------------+-------------+
とTableBの
+----+--------+---------------------+-------------+
| id | record | timeOut | description |
+----+--------+---------------------+-------------+
| 1 | 11 | 2017-03-25 15:10:10 | productB |
+----+--------+---------------------+-------------+
| 2 | 9 | 2017-03-25 12:47:17 | productA |
+----+--------+---------------------+-------------+
| 4 | 11 | 2017-03-25 12:47:17 | productB |
+----+--------+---------------------+-------------+
| 5 | 14 | 2017-03-25 12:47:18 | productC |
+----+--------+---------------------+-------------+
複合表であるTableAの
+----+--------+---------------------+-------------+
| id | record | timeIn | description |
+----+--------+---------------------+-------------+
| 1 | 9 | 2017-03-25 12:41:59 | productA |
+----+--------+---------------------+-------------+
| 2 | 11 | 2017-03-25 15:00:35 | productB |
+----+--------+---------------------+-------------+
| 4 | 11 | 2017-03-25 12:42:00 | productB |
+----+--------+---------------------+-------------+
| 5 | 14 | 2017-03-25 12:42:00 | productC |
+----+--------+---------------------+-------------+
です:
あなたはfirtsと最後の値を取得するためにあなたが分MXなどの集計関数を使用する必要がありますレコードごとにつ以上の値を持っている場合
+----+--------+---------------------+---------------------+----------------+-------------+
| id | record | timeIn | timeOut | timeDifference | description |
+----+--------+---------------------+---------------------+----------------+-------------+
| 1 | 9 | 2017-03-25 12:41:59 | 2017-03-25 12:47:17 | 00:05:18 | productA |
+----+--------+---------------------+---------------------+----------------+-------------+
| 2 | 11 | 2017-03-25 12:42:00 | 2017-03-25 12:47:17 | 00:05:18 | productB |
+----+--------+---------------------+---------------------+----------------+-------------+
| 4 | 14 | 2017-03-25 12:42:00 | 2017-03-25 12:47:18 | 00:05:18 | productC |
+----+--------+---------------------+---------------------+----------------+-------------+
| 5 | 11 | 2017-03-25 15:00:35 | 2017-03-25 15:10:10 | 00:09:35 | productB |
+----+--------+---------------------+---------------------+----------------+-------------+
したがって、レコードと説明が等しい場合は、クエリでtimeInとtimeOutを順番に使用することがわかりますか? TimeInがtimeOut – Edward
より小さくなければならないことにwhere句を入れてください。集計関数を使わずにgroup byを使用するのはなぜですか。 ?? – scaisEdge
@ Edwardそれはうまくいくかもしれない、私はそれを試してみる必要があります。 – newpie