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

MySQL에서 ORDER BY를 사용하는 여러 LIKE 연산자?

<시간/>

다음은 ORDER BY −

를 사용하여 여러 LIKE 연산자를 구현하는 구문입니다.
select *from yourTableNameorder by( yourColumnName like '%yourValue1%')+( yourColumnName like '%yourValue2%')+..Ndesc;

테이블을 만들어 봅시다 -

mysql> create table demo2−> (−> id int not null auto_increment,−> name varchar(100),−> 기본 키(id)−> );쿼리 OK, 영향을 받는 행 0개(1.53초) 

insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -

mysql> insert into demo2(name) values('John');Query OK, 1행 영향(0.18초)mysql> insert into demo2(name) values('David');Query OK, 1행 영향( 0.09초)mysql> demo2(이름) 값에 삽입('John Smith');쿼리 OK, 1행 영향(0.10초)mysql> demo2(이름) 값에 삽입('John Doe');쿼리 OK, 1행 영향을 받은(0.11초)mysql> demo2(이름) 값에 삽입('David Miller');쿼리 OK, 1행 영향을 받음(0.13초)mysql> demo2(이름) 값에 삽입('Chris');쿼리 OK, 1 영향을 받는 행(0.09초)mysql> demo2(이름) 값에 삽입('Bob Doe'); 쿼리 확인, 1행이 영향을 받음(0.09초)

select 문을 사용하여 테이블의 레코드 표시 -

mysql> select *from demo2;

이것은 다음과 같은 출력을 생성합니다 -

+----+--------------+| 아이디 | 이름 |+----+--------------+| 1 | 존 || 2 | 데이비드 || 3 | 존 스미스 || 4 | 존 도 || 5 | 데이비드 밀러 || 6 | 크리스 || 7 | Bob Doe |+----+--------------+7행 세트(0.00초)

다음은 여러 LIKE 연산자에 대한 쿼리입니다 -

mysql> select *from demo2−> order by−> (−> '%Doe%'와 같은 이름−> )−> +−> (−> '%David%'−> 같은 이름) ​​desc; 

이것은 다음과 같은 출력을 생성합니다 -

+----+--------------+| 아이디 | 이름 |+----+--------------+| 2 | 데이비드 || 4 | 존 도 || 5 | 데이비드 밀러 || 7 | 밥 도 || 1 | 존 || 3 | 존 스미스 || 6 | Chris |+----+--------------+7행 세트(0.00초)