สอบถามเกี่ยวกับการใช้ sql order by เรียงตัวอักษรหน่อยได้ไหมครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามเกี่ยวกับการใช้ sql order by เรียงตัวอักษรหน่อยได้ไหมครับ

สอบถามเกี่ยวกับการใช้ sql order by เรียงตัวอักษรหน่อยได้ไหมครับ
คือติดปัญหาเกี่ยวกับการ ใช้งาน sql order by เรียง อักษรภาษาไทย กับ ภาษาอังกฤษ ครับ โดยปัญจุบัน ผมได้เขียนเป็นเเบบ ด้านล่างไว้ ซื้อมันจะทำให้ตัวที่เป็นภาษาอังกฤษ เรียงขึ้นก่อน เเล้วตามด้วยภาษาไทย ถ้าหากเพราะจะเขียนเพิ่มเพื่อให้มันเรียงเป็นภาษาไทยก่อน เเล้วตามด้วยภาษาอังกฤษ ต้องเขียนเพิ่มอย่างไรครับ

$sql = "SELECT a.* FROM tb_contract a  WHERE a.list!='' AND a.status IS NULL  ORDER BY CONVERT(a.company using tis620) ASC ";


Antinew007 124.120.200.xxx 06-10-2020 15:39:09

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
อธิบายเพิ่มเติมครับ ในตาราง company จะมีทั้งชื่อ ภาษาไทย เเละ ภาษา อังกฤษ ยุในตารางเดียวกันนะครับ


Antinew007 124.120.200.xxx 06-10-2020 16:04
 ความคิดเห็นที่ 2
ลองดูตัวอย่างนี้เป็นแนวทาง

(SELECT 
a.data,'th' lang
FROM tbl a 
WHERE NOT a.data REGEXP '[A-Za-z0-9]' 
)
UNION ALL
(SELECT 
b.data,'en' lang
FROM tbl b 
WHERE b.data REGEXP '[A-Za-z0-9]' 
)
ORDER BY lang DESC,CONVERT(data using tis620) ASC


Ninenik 124.122.197.xxx 06-10-2020
 ความคิดเห็นที่ 3
สอบถามเพิ่มเติมครับ ตัวอย่างนี้ คือไม่ต้องไปยุ่งเกี่ยวกับตัว database ใช่ไหมครับ


Antinew007 58.8.148.xxx 06-10-2020 17:09
 ความคิดเห็นที่ 4
ไม่แน่ใจว่ายุ่งเกี่ยวกับ database หมายถึงอะไร ลองดูข้อมูลตัวอย่าง

CREATE TABLE tbl
    (`id` int, `data` varchar(9))
;
    
INSERT INTO tbl
    (`id`, `data`)
VALUES
    (1, 'ภาษาไทย'),
    (2, 'English'),
    (3, 'การศึกษา'),
    (4, 'Education')
;

ฟิล lang เราสมมติค่าขึ้น ให้มีค่าตามที่เราระบุ คล้าย 'th' as lang
ไม่มีการเพิ่มฟิลด์ ใหม่เข้าไปในตาราง


Ninenik 124.122.197.xxx 06-10-2020
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ