按字母顺序重新排列mysql数据

bybem2ql  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(468)

我有一个分数表,上面有studentid、marks、class\u id、exam\u id。我从中得到了分数和student\u id

$mark_query = $this->db->get_where('mark' , 
                                    array('class_id' => $class_id, 
                                           'exam_id' => $exam_id)
                );

在得到分数和学生id之后,我将显示带有学生姓名的分数,这是我从另一个带有上述查询中的学生id的表中获得的。我还有一张table,上面有学生证和他们的名字。
输出是这样的

Sajiv 25
Arun 35
Sonu 32
Binu 45

但是我想按升序显示名字。
有什么想法吗?我正在使用codeigniter。

pxy2qtax

pxy2qtax1#

订购结果
$this->db->order\u by()
用于设置order by子句。
第一个参数包含要按其排序的列的名称。
第二个参数用于设置结果的方向。选项包括asc、desc。
$this->db->order_by('title','desc');
//生产:订单依据 title 您还可以在第一个参数中传递自己的字符串:
$this->db->order_by('title desc,name asc');
//生产:订单依据 title 描述, name 如果需要多个字段,可以进行asc或多个函数调用。
$this->db->order_by('title','desc');
$this->db->order_by('name','asc');
//生产:订单依据 title 描述, name asc如果选择“随机方向”选项,则将忽略第一个参数,除非指定数字种子值。
您可以随时查看codeigniter查询生成器以获取帮助。这是你的名字link:https://www.codeigniter.com/userguide3/database/query_builder.html

kxxlusnw

kxxlusnw2#

将student表与mark表连接起来,并按student name升序排列

$this->db->select('students_table.name, mark.marks')
    ->from('mark')
    ->join('students_table', 'mark.student_id = students_table.id')
    ->where(['class_id' => $class_id, 'exam_id' => $exam_id])
    ->order_by('students_table.name', 'ASC')
    ->get();

相关问题