我试图获取每种类型的两个最新行。
ID TYPE SCORE
-----------------
1 EUR 2
2 EUR 3
3 CAD 5
4 CAD 6
5 CAD 7
6 CAD 8
7 USD 5
8 USD 3
9 USD 7
10 USD 2
返回的结果应为id:1,2,5,6,9,10。
如何使用mysql子查询完成此操作?我试过下面..
$sql = "SELECT * FROM `data_analysis_child`
WHERE type IN
(SELECT type FROM `data_analysis_child` ORDER by id DESC LIMIT 2)";
$query = $this->db->query($sql);
我如何解决?
答案 0 :(得分:0)
你可以试试这个。
select * from
(SELECT t.*,@row_num := IF(@TYPE1=type,@row_num+1,1)AS RowNumber,@TYPE1=type FROM data_analysis_child t, (SELECT @row_num := 1) x,(SELECT @TYPE1 := '') y
order by type desc,id desc) where RowNumber<=2