tbservicecallallocation
という名前のテーブルが1つあり、その下にそのテーブルのデータがあります。データ以上のことからWHERE句でMySql MAX()を使用する方法
私は彼らのMAX AllocationTime
と技術者のことをしたいです。画像の下 は
は、上記のデータを取得するためのMySQLのSELECTクエリを記述するために私を助けてください..私が望む結果内容を示しています。
tbservicecallallocation
という名前のテーブルが1つあり、その下にそのテーブルのデータがあります。データ以上のことからWHERE句でMySql MAX()を使用する方法
私は彼らのMAX AllocationTime
と技術者のことをしたいです。画像の下 は
は、上記のデータを取得するためのMySQLのSELECTクエリを記述するために私を助けてください..私が望む結果内容を示しています。
各技術者の最大AllocationTimeを返すサブクエリがあります。その結果と参加:
select t1.*
from tbservicecallallocation t1
join (select TechnicianIDF, max(AllocationTime) as MAxAllocationTime
from tbservicecallallocation
group by TechnicianIDF) t2
on t1.TechnicianIDF = t2.TechnicianIDF
and t1.AllocationTime = t2.MAxAllocationTime
は、必要に応じて最後にORDER BY
句を追加します。
ORDER BY AllocationStatus DESC
あなたは最大AllocationTime
を計算するためにサブクエリを使用することができます。
SELECT *
FROM tbservicecallallocation t1
WHERE (TechnicianIDF,AllocationTime) IN
(SELECT TechnicianIDF, MAX(AllocationTime) AS AllocationTime
FROM tbservicecallallocation
GROUP BY TechnicianIDF)
'@ lad2025'。申し訳ありませんが私は1つの答えを承認することができます。あなたの答えは私にとっても完璧です...しかし、この時間のために申し訳ありません。素晴らしい仕事...。 – Vijay
はこれを試してみてください:
SELECT *
FROM tbservicecallallocation t1
WHERE NOT EXISTS(
SELECT 'NEXT'
FROM tbservicecallallocation t2
WHERE t1.TechnicianIDF = t2.TechnicianIDF
AND t2.AllocationTime > t1.AllocationTime
)
この
select t1.*
from tbservicecallallocation as t1 inner join
(
select technicianidf, max(allocationtime) as allocationtime
from tbservicecallallocation
group by technicianidf
) as t2 on t1.technicianidf=t2.technicianidf and t1.allocationtime=t2.allocationtime
私と同じ答え、ちょうど7分後。 – jarlh
ページの更新に問題がある可能性があります。私はページを開いたときに私はあなたのことを見ませんでした:) – Madhivanan
、lad2025 @ 2つの行を試してみ、t2は任意の重複は含まれません。同じ技術者が同じmax(allocationTime)を2回使用すると、両方の行が返されます。 (あなたの質問と同じように) – jarlh
:)はい、あなたは正しいです。 2番目のクエリは、技術者ごとに常に1つの行を返します。 – lad2025