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

รับค่าที่ปรากฏขึ้นเพียงครั้งเดียวในคอลัมน์ MySQL หรือไม่


หากต้องการรับจำนวนค่าที่ปรากฏขึ้นเพียงครั้งเดียวในคอลัมน์ ให้ใช้ GROUP BY HAVING ให้เราสร้างตารางก่อน:

mysql> สร้างตาราง DemoTable( ชื่อ varchar(20)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.55 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก:

mysql> แทรกลงในค่า DemoTable ('Larry'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable ('Larry'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรก ลงในค่า DemoTable ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ('Sam ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า DemoTable ('ไมค์'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable ('แซม'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ('Larry'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า DemoTable ('ไมค์'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.32 วินาที )mysql> แทรกลงในค่า DemoTable ('Mike'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.27 วินาที) mysql> แทรกลงใน DemoTable values('Robert');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.27 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนจากตารางโดยใช้คำสั่ง select:

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

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

<ก่อนหน้า>+---------+| ชื่อ |+-------+| แลร์รี่ || แลร์รี่ || แซม || คริส || แซม || ไมค์ || แซม || แลร์รี่ || ไมค์ || ไมค์ || แครอล || Robert |+--------+12 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับค่าที่ปรากฏเพียงครั้งเดียวในคอลัมน์ เช่น จำนวนชื่อที่ปรากฏเพียงครั้งเดียวในคอลัมน์ "ชื่อ":

mysql> SELECT COUNT(Name)FROM ( SELECT Name FROM DemoTable GROUP BY Name HAVING COUNT(*) =1) AS APPEAR_FIRST_TIME;

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

<ก่อนหน้า>+-------------+| นับ(ชื่อ) |+-------------+| 3 |+-------------+1 แถวในชุด (0.00 วินาที)