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

จะดึงค่าด้วยการนับ MySQL () ที่มีค่า upvote สูงสุดได้อย่างไร


สมมติว่าเรามีบางคอลัมน์ในตาราง คอลัมน์หนึ่งสำหรับเส้นทางรูปภาพ และอีกคอลัมน์หนึ่งสำหรับการโหวตเห็นด้วย อย่างไรก็ตาม คอลัมน์แรกคือรหัสการเพิ่มอัตโนมัติดังที่แสดงด้านล่าง −

mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก, ImagePath varchar (100), UpvoteValue int); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.72 วินาที)

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

mysql> แทรกลงในค่า DemoTable(ImagePath,UpvoteValue) ('Image1.jpeg',90); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที)mysql> แทรกลงในค่า DemoTable (ImagePath, UpvoteValue) ('Image2.jpeg ',10);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า DemoTable (ImagePath, UpvoteValue) ('Image3.jpeg',120); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงใน ค่า DemoTable(ImagePath,UpvoteValue) ('Image4.jpeg',114); ตกลง ตกลง 1 แถว (1.17 วินาที)

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

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

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

<ก่อนหน้า>+----+-------------+-------------+| รหัส | ImagePath | UpvoteValue |+----+-------------+-------------+| 1 | Image1.jpeg | 90 || 2 | Image2.jpeg | 10 || 3 | Image3.jpeg | 120 || 4 | Image4.jpeg | 114 |+----+-------------+-------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อดึงค่า imagepath ด้วย count() มีค่า upvote สูงสุด -

mysql> เลือก ImagePath จาก DemoTable โดยที่ UpvoteValue IN (เลือก max(UpvoteValue) จาก DemoTable);

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

<ก่อนหน้า>+-------------+| ImagePath |+-------------+| Image3.jpeg |+-------------+1 แถวในชุด (0.00 วินาที)