Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

최대 찬성 값을 갖는 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)