0

特定のticket_idのstalled(NewValue)とstalled(OldValue)の「作成済み」時間差を取得したい

注:これは私の最初の投稿です。いくつかの制限のため、写真を添付できません。

+-----------+----------+----------+---------------------+
| Ticket_id | OldValue | NewValue | Created             |
+-----------+----------+----------+---------------------+
| 20100     | new      | wip      | 2012-10-01 07:38:18 |
| 20100     | wip      | stalled  | 2012-10-01 10:12:14 |
| 20100     | stalled  | wip      | 2012-10-01 22:09:39 |
| 20100     | wip      | open     | 2012-10-02 01:03:26 |
| 20100     | open     | stalled  | 2012-10-02 01:03:26 |
| 20100     | stalled  | wip      | 2012-10-03 06:55:42 |
| 20100     | wip      | open     | 2012-10-03 19:24:53 |
| 20100     | open     | stalled  | 2012-10-03 19:24:53 |
| 20100     | stalled  | open     | 2012-10-04 19:28:48 |
| 20100     | open     | resolved | 2012-10-04 21:01:17 |
+-----------+----------+----------+---------------------+
4

2 に答える 2

0

次のようなものを使用します:

SET @dte:=CURRENT_DATE();
SELECT DATEDIFF(Created, @dte),@dte:=Created FROM table ORDER BY Created

これにより、2つの値の違いが表示されます(最初のレコードを除く)。IFを追加するか、最初の日付を表示しないようにすることができます。

于 2012-10-09T13:58:20.410 に答える
0

これが私が思いついた解決策です。JIRAを使用しているかどうかはわかりませんが、使用していました(そうかもしれません)。特定のJIRAチケットが特定のステータスのままである時間を見つける必要がありました(変更された回数にもかかわらず)。

SELECT
  ThisLog.issueid,
  b.NEWSTRING,
  SUM(TIMESTAMPDIFF(HOUR,ThisLog.created,PrevLog.created)*-1) AS "Status Time"
FROM
  changegroup    AS ThisLog
LEFT JOIN
  changegroup    AS PrevLog
    ON  PrevLog.issueid = ThisLog.issueid
    AND PrevLog.created = (SELECT MAX(created)
                          FROM changegroup
                          LEFT JOIN changeitem AS b1
                          ON changegroup.ID = b1.groupid
                          WHERE issueid = ThisLog.issueid
                          AND created < ThisLog.created
                          AND b1.field = "status"
                          AND b1.NEWSTRING = "Pending Customer")
LEFT JOIN changeitem AS b
ON ThisLog.ID = b.groupid
WHERE ThisLog.issueid = 82720 AND b.field = "status" AND b.NEWSTRING = "Pending Customer";
于 2013-05-14T19:43:17.387 に答える