gpt4 book ai didi

php - 如何从 SQL 中获取不同的行

转载 作者:行者123 更新时间:2023-11-29 04:50:57 25 4
gpt4 key购买 nike

这是我的 SQL 表。在这里我想得到所有

       marks_table
ID STUD_ID MARKS VERSION VERIFICATION_ID
1 50 90 1 2
2 22 50 1 2
3 33 20 1 2
4 10 30 1 2
5 55 50 1 2
6 55 40 2 2
7 20 60 1 2
8 30 90 1 2
9 10 88 1 3
10 10 45 2 3

我想要的是,通过 verification_id 和 version 获得更大的值。例如 ID 5,6 和 9,10 具有相同的 stud_id,但标记不同,版本也不同。我想从该 verification_id 获得最大版本结果和所有其他结果。

在 CodeIgniter 中,我使用了以下命令。

$this->db->select('*');
$this->db->from('marks_table');
$this->db->where('version IN (SELECT MAX(version) FROM marks_table)',NULL,FALSE);
$this->db->where('verification_id','2');
$this->db->get();

我得到的只是最终的最大版本

   marks_table
ID STUD_ID MARKS VERSION VERIFICATION_ID
6 55 40 2 2

我真正想要的,像这样

       marks_table
ID STUD_ID MARKS VERSION VERIFICATION_ID
1 50 90 1 2
2 22 50 1 2
3 33 20 1 2
4 10 30 1 2
6 55 40 2 2
7 20 60 1 2
8 30 90 1 2

最佳答案

首先找到 Max 版本然后获取它的数据:

   select * from marks_table a
where version = (select max(version) from
marks_table where stud_id = a.stud_id);

关于php - 如何从 SQL 中获取不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11674772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com