A-AA+then

ทำ query แสดงผลเป็น group ของ ตัวอักษรภาษาไทย

1,357

    ผมต้องการทำ query ข้อมูลของชื่อที่เป็นภาษาไทยแล้วให้แสดงผลเป็น group ของ ตัวอักษรภาษาไทย เช่น ก-ข-ท (กรทอง, กีรติ, ขัตติยา, ทนา, เทพ)
    
    ต้องเขียนยังไงครับ  

5 ความคิดเห็น

ORDER BY name ASC ก็ได้แล้วครับ เพราะมันจะเรียงตามลำดับตัวอักษรให้ ได้ผลลัพท์ตามนี้เลย กรทอง, กีรติ, ขัตติยา, ทนา, เทพ
1

    ขอบคุณครับ แต่ที่ต้องการคือแบบนี้ครับ
    
    ตัวอักษรตัวแรกของแต่ละ record แล้วมาจัด group ครับ
    จากตัวอย่าง ก็จะได้เป็นแค่ ตัวอักษรแรก คือ ก  ,  ข  , ท  
    กรทอง ,กีรติ   ==> ก
    ขัตติยา         ==>  ข
    ทนา, เทพ     ==>  ท
    
    ขอบคุณครับ

2

ถ้าต้องการจัดกลุ่มแบบที่ว่า ต้องทำที่ PHP นะครับ เอาแนวคิดง่ายๆ ไปลองดัดแปลงดู

<?php
    $datas = array('กรทอง', 'กีรติ', 'ขัตติยา', 'ทนา', 'เทพ');
    $groups = array();
    foreach($datas AS $value) {
        $groups[$value{0}][] = $value;
    }
    print_r($groups);
?>


ข้อเสียของโค้ดด้านบน คือ ไม่สามารถใช้งานกับ UTF-8 ได้ และ ไม่รวมกลุ่มสระให้
3

    ขอบคุณครับ จะลองดูครับ

4

    <?php
        $datas = array('กรทอง', 'กีรติ', 'ขัตติยา', 'ทนา', 'เทพ');
        $groups = array();
        foreach($datas AS $value) {

            $value = str_replace(array('สระเอ','สระโอ','สระนำหน้าทั้งหมด'),'',$value);
             $groups[$value{0}][] = $value;
        }
        print_r($groups);
    ?>

    
    ลองเขียนแบบนี้ครับ

5
^