0

したがって、基本的にチケットのチケットの詳細のほとんどを含むテーブルがあります。ただし、非常に長いもの(メモ、技術メモ、写真など)、他のテーブルの他の場所にリンクされているものなどは除きます。

データテーブル内のさまざまなチケットに関するメトリックを返します。例えば:

SELECT Category, Count(Category) FROM tickets 
WHERE Date_SUB(CURDATE(), Interval 16 Hour) <= Datez GROUP BY Category

これにより、たとえば、各カテゴリとその数などの結果リストが返されます。

ただし、たとえば、、、、、、、などの数値を返すなど、さまざまな間隔でこれを調整する場合は16 hours、同じクエリをその回数だけ実行する必要があります(リストされているものからすべての時間を差し引いたもののように、そのクエリは5回ですか?1 day30 day3 month12 monthAll time

最終的には、C#Winformsアプリケーションのある種のダッシュボードでカウントを使用して、さまざまなチケットデータを表示し、部門の状況を確認できるようにします。しかし、そこに座って数分ごとに5つのクエリを実行する必要がある場合、システムがダウンする傾向があります。

4

2 に答える 2

1

あなたはこのようなことを試すことができます:

SELECT
    Category,
    IF(Date_SUB(CURDATE(), Interval 16 Hour) <= Datez, SUM(1), 0) AS c16hours,
    IF(Date_SUB(CURDATE(), Interval 1 day) <= Datez, SUM(1), 0) AS c1day,
    IF(Date_SUB(CURDATE(), Interval 30 days) <= Datez, SUM(1), 0) AS c30days,
    (...)
FROM tickets 
GROUP BY Category

これはうまくいくはずです(しかし、私は例をテストしていません、ただあなたにいくつかの理論を与えます)!

幸運を。

于 2012-07-30T23:57:26.037 に答える
-1

リストを続行するには、WHEREステートメントの後にANDステートメントを追加することもできます。

これはdefになります。短くする

于 2012-07-30T23:53:35.780 に答える