表tmp中記錄的是人員享受補貼的記錄,每個人會有多條不同時間的享受記錄,現在需要查詢每個人最後一次享受補貼的記錄
select
a.*from
tmp a
inner
join
(select
max( issuing_date )
as max_issuing_date, s.identity_card
from
`tmp` s group
by s.identity_card ) b
on a.issuing_date = b.max_issuing_date and a.identity_card = b.identity_card
首先,我們需要查詢的是這個表中記錄 from tmp,然後要加上條件:1.每個人的標示身份證identity_card, 2.發放時間最大值max(issuing_date)
我這裡用inner join新增條件,子查詢b 對tmp根據身份證分組,查詢每個人identity_card,最後發放時間max_issuing_date,再關聯a表,查詢到a表中符合條件的資料.
MySQL查詢分組最大值所在整條記錄
建立了張測試的表user 查詢ip是127.0.0.1,使用者角色role為 user 和 tmp 中status最大的記錄所在整行記錄。我的查詢為先取出所要的最大值,作為條件再去查詢一遍。這樣可以得出想要的結果,但感覺有點繁瑣。網上有排序查詢的方法,先根據status排序,再根據role排序,下邊...
sql多表查詢分組最大值
問題描述 有三張表 學生表student id,name id為主鍵 課程表subject id,name id為主鍵 分數表score studentid,subjectid,score 其中studentid與subjectid為聯合主鍵,一句sql語句查詢出 學號,姓名,課程名,課程最高分.模...
SQL分組最大值
employee表包含所有員工資訊,每個員工有其對應的 id,salary 和 department id。id name salary departmentid 1 joe 70000 1 2 henry 80000 2 3 sam 60000 2 4 max 90000 1 department...