我正在尝试获取每种类型的最新两行。
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's: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);
如何解决?
最佳答案
你可以试试这个。
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
关于php - MySQL子查询,获取2个最近的类型行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44949762/