mysql中group by之后想取到一組中的第二條記錄怎么辦?

如上圖,如何用mysql實作?
uj5u.com熱心網友回復:
先寫一個獲取第二個元素的聚合函式,假設是secitemselect * from table where signtime in (select secitem(signtime) from table group by name)
uj5u.com熱心網友回復:
剛才那種方法有點問題,另一種方法:Select * from table a where 1=(select count(*) from table where a.name=name and a.time >time)
uj5u.com熱心網友回復:
去掉每組最小的一條,從剩下的資料中取每組最小的一條就可以了SELECT * FROM tb
WHERE baoxian_id IN (
SELECT min(baoxian_id) FROM tb
WHERE baoxian_id NOT IN (
SELECT min(baoxian_id) FROM tb GROUP BY name)
GROUP BY name)
ORDER BY name;
uj5u.com熱心網友回復:
那如果這些記錄分組之后每組都有N個,我要取每組的第N/2個數呢?
uj5u.com熱心網友回復:
select * from(select id, name, @id:=if(@name=name,@id+1,0) as _r, @name:=name as _n from tb,(select @id:=0, @name:=null)b order by name) aa where _r % 2;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/103703.html
標籤:MySQL
