重複した行を削除し、最新の作業ログ エントリのみを保持します。
P粉916760429
P粉916760429 2023-08-10 17:25:56
0
1
580

このクエリを作成しましたが、機能します。問題は、ジョブログごとに行が表示されることです。イベントごとの最新の作業ログが必要なだけです。

SELECT DISTINCT `HPD:ヘルプ デスク`.`インシデント番号` AS Incident_Number、 `HPD:ヘルプデスク`.`ステータス` AS ステータス、 `HPD:ヘルプ デスク`.`優先度` AS 優先度、 `HPD:ヘルプ デスク`.`割り当てられたグループ` AS Assigned_Group、 `HPD:ヘルプ デスク`.`担当者` AS 担当者、 `HPD:ヘルプ デスク`.`提出日` AS Submit_Date, `HPD:ヘルプ デスク`.`最終更新日` AS Last_Modified_Date, `HPD:ヘルプデスク`.`説明` AS 説明、 `HPD:ヘルプ デスク`.`提出者` AS 提出者、 `HPD:Search-Worklog`.`Worklog の説明` AS Worklog_Description、 `HPD:Search-Worklog`.`Work Log ID` AS Work_Log_ID から 「HPD:ヘルプデスク」 INNER JOIN `HPD:Search-Worklog` on (`HPD:Search-Worklog`.`InstanceId` = `HPD:Help Desk`.`InstanceId`) どこ (`HPD:ヘルプ デスク`.`ステータス` in ('割り当て済み','保留中','進行中') および `HPD:ヘルプ デスク`.`送信日` >= $__from/1000 および `HPD:ヘルプ デスク`.`送信日` <= $__to/1000) 注文方法 `HPD:ヘルプ デスク`.`提出日` ASC 制限 20

HPD:Help Desk、HPD:Worklog、および HPD:Search-Worklog フォームを試しました。また、CASE ステートメントを使用して、各イベントの最新/最大のワークログ ID を表示しようとしましたが、成功しませんでした。明らかな/単純な何かが欠けていると確信しています。

P粉916760429
P粉916760429

全員に返信 (1)
P粉252423906

ウィンドウ関数をサポートする最新バージョンの MySQL (またはそのバリアント) を使用していると仮定すると、「最新」を取得する非常に効率的な方法は、row_number() over()を使用することです。 over 句でpartition byを使用して行番号リセットのトリガーを制御し、order byを使用してパーティション内のどの行に行番号 1 を取得するかを制御します。ここで、「最新」を取得するには、これを行うためのワークログ テーブル内の列が必要です。テーブル内にタイムスタンプ列 (worklog_entry_date) が存在すると仮定しています。実際にその列を置き換える必要があります。 「最新」を決定します)。現在のクエリを 1 レベルネストして、行番号 1 でフィルタリングできるようにします。これらが「最新」行になります:リーリー注: 行番号が存在する場合は、

select unique

を使用する必要はありません。通常は使用しないようにしてください。また、テーブルのエイリアスを自分で使用して、コードを簡素化します。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!