如何使用帶有最大點贊數的 MySQL count() 檢索一個值?


假設我們在表中有一些列,一列用於圖片路徑,另一列用於點贊數。但是,第一列是自動增長的 Id,如下所示

mysql> create table DemoTable(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,ImagePath varchar(100),UpvoteValue int
);
Query OK, 0 rows affected (0.72 sec)

使用插入命令在表中插入一些記錄 −

mysql> insert into DemoTable(ImagePath,UpvoteValue) values('Image1.jpeg',90);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable(ImagePath,UpvoteValue) values('Image2.jpeg',10);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable(ImagePath,UpvoteValue) values('Image3.jpeg',120);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(ImagePath,UpvoteValue) values('Image4.jpeg',114);
Query OK, 1 row affected (1.17 sec)

使用 select 語句顯示來自表的全部記錄 −

mysql> select *from DemoTable;

這將產生以下輸出 −

+----+-------------+-------------+
| Id | ImagePath   | UpvoteValue |
+----+-------------+-------------+
| 1  | Image1.jpeg | 90          |
| 2  | Image2.jpeg | 10          |
| 3  | Image3.jpeg | 120         |
| 4  | Image4.jpeg | 114         |
+----+-------------+-------------+
4 rows in set (0.00 sec)

以下是使用 count() 和最大點贊數檢索圖片路徑值的查詢 −

mysql> select ImagePath from DemoTable where UpvoteValue IN (select max(UpvoteValue) from DemoTable);

這將產生以下輸出 >

+-------------+
| ImagePath   |
+-------------+
| Image3.jpeg |
+-------------+
1 row in set (0.00 sec)

更新於: 2019 年 8 月 22 日

89 次瀏覽

啟動您的職業生涯

完成課程以獲得認證

立即開始
廣告
© . All rights reserved.