看了很多分組之後獲取最大值的sql部落格,真的是滿心歡喜,一試就涼
,還得自食其力。
簡單的三個字段,id
,rid
,online_date
,目前就是想根據rid
進行分組,取online_date
中的最大值,
最開始想的方法就是根據rid
進行group by
,然後用id
進行倒序,來獲取最大值,後來發現group by
之後又隨機排序了,無法獲得目標值。
select id,rid,online_date
from
(select
*from
`rg_rule_online_record`
order
by rid,id desc
)e group
by rid ;
後來嘗試使用最大值max
關聯,好像也是不對。
最後放棄group by
,使用exists
,豁然開朗
select
*from rg_rule_online_record e where
notexists
(select
1from rg_rule_online_record f where f.
`online_date`
>e.online_date and e.rid = f.rid)
;
至於不會使用exists
的看一下這個【mysql】sql中exists,not exists的用 分組取最大值統計,過濾
匯率儲存,千分之5以內的,按照日期,幣種,匯率,匯率浮動分組。首先分組,按照日期,幣種,匯率,匯率浮動,然後分組統計 日期,幣種,匯率 1的並且,浮動範圍在千分5以內。如果有2條匯率,一條記錄大於千分之5,一條記錄小於千分之5,分組統計數目就大於1,就過濾掉。如果匯率正常的且有多條,然後取max 最...
如何取分組最大值記錄
分組最大值記錄 比如序號 名稱 數量 1 a 20 2 a 10 1 b 20 2 b 40 3 b 10 1 c 20 2 c 40 子查詢 select from 表 where 序號,名稱 in select max 序號 名稱 from 表 group by 名稱 分析函式 select 序...
如何取分組最大值記錄
分組最大值記錄 比如序號 名稱 數量 1 a 20 2 a 10 1 b 20 2 b 40 3 b 10 1 c 20 2 c 40 子查詢 select from 表 where 序號,名稱 in select max 序號 名稱 from 表 group by 名稱 分析函式 select 序...