我正在尝试获取每种类型的最新两行。
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);
我该如何解决?
发布于 2017-07-06 21:31:24
你可以试试这个。
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
https://stackoverflow.com/questions/44949762
复制相似问题