Php 如何从SQL中获取不同的行
这是我的SQL表。在这里,我想得到所有Php 如何从SQL中获取不同的行,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,这是我的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 5
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
我想要的是,通过验证得到所有的结果,\u id和version是更大的值。例如,ID 5,6和9,10具有相同的螺柱ID和不同的标记,并且版本也不同。我想从验证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();
我得到的只是最终的max版本
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);
首先查找Max版本,然后获取其数据:
select * from marks_table a
where version = (select max(version) from
marks_table where stud_id = a.stud_id);
我已经修改了srini.venigalla的答案。多亏了他
select * from marks_table a
where version = (select max(version) from
marks_table where stud_id = a.stud_id) AND VERIFICATION_ID = 2;
我已经修改了srini.venigalla的答案。多亏了他
select * from marks_table a
where version = (select max(version) from
marks_table where stud_id = a.stud_id) AND VERIFICATION_ID = 2;
尝试从表中获取多行
$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()->result_array();
尝试从表中获取多行
$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()->result_array();
您是否尝试过
选择DISTICNT(…)…
?尝试以下操作:从表名称中选择不同的列名称,如果您仍在选择ID,则这些列名称将不起作用。请查看所需的输出。要帮助吗,我不明白您真正想要的是什么(((从你的问题ID 5,6,9,10中,没有相同的搜索ID,所以我不明白你的意思。我知道这个问题有点复杂,我的英语很差……无论如何,谢谢。我只想通过验证ID和最大版本结果来搜索。你试过了吗选择DISTICNT(…)…
?试试这个:选择不同的列名称)从表_name中,如果您仍在选择ID,则该选项将不起作用。请查看所需的输出。想要帮助,我不明白您真正想要的是什么(((从你的问题ID 5,6,9,10没有相同的搜索ID,所以我不明白你的意思我知道这个问题有点复杂,而且我的英语很差…无论如何,谢谢..我只想通过验证ID和最大版本结果来搜索,但是你能将答案改为“版本”而不是“版本ID”吗,如原问题所示?@srini感谢您的回答,但我需要通过验证搜索\u ID而不是stud\u ID。我投了赞成票,但您能否将答案改为“version”而不是“version\u ID”,如原问题所示?@srini感谢您的回答,但我需要通过验证搜索\u ID而不是stud\u ID。