Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แบบสอบถาม MySQL เพื่อเลือกแถวที่มีหมายเลขเดียวกันในคอลัมน์ที่มีชุดตัวเลขคั่นด้วยเครื่องหมายจุลภาค?


คุณต้องใช้ FIND_IN_SET() สำหรับสิ่งนี้ ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( CustomerId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(20), CustomerAllProductPrice text ); Query OK, 0 แถวได้รับผลกระทบ (0.30 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก เรากำลังแทรกตัวเลขโดยคั่นด้วยเครื่องหมายจุลภาค -

mysql> แทรกลงใน DemoTable(CustomerName,CustomerAllProductPrice) values('Chris','245,345,678,90,45,56,78');Query OK, 1 แถวได้รับผลกระทบ (0.03 วินาที)mysql> แทรกลงใน DemoTable(CustomerName, ค่า CustomerAllProductPrice) ('Chris','98,99,90,56,77');แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.07 วินาที)mysql> แทรกลงในค่า DemoTable (CustomerName,CustomerAllProductPrice) ('David','1000, 2000,4000,56000');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.06 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------------------------------+----------------- --------+| รหัสลูกค้า | ชื่อลูกค้า | CustomerAllProductPrice |+-----------+--------------+------------------- ------+| 1 | คริส | 245,345,678,90,45,56,78 || 2 | คริส | 98,99,90,56,77 || 3 | เดวิด | 1,000,2000,4000,56000 |+------------+------------+------------- ------------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกแถวที่มีหมายเลขเดียวกันในคอลัมน์ที่มีชุดของตัวเลขคั่นด้วยเครื่องหมายจุลภาค -

mysql> เลือก *จาก DemoTable โดยที่ find_in_set('4000',CustomerAllProductPrice);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------------------------------+----------------- --------+| รหัสลูกค้า | ชื่อลูกค้า | CustomerAllProductPrice |+-----------+--------------+------------------- ------+| 3 | เดวิด | 1,000,2000,4000,56000 |+------------+------------+------------- ------------+1 แถวในชุด (0.14 วินาที)