반응형
:= 연산자는 mysql에서 무엇을 의미합니까?
저는.mysql
테이블()scho_id
,school_name
,school_views
).
저는 그를 찾고 있었습니다.mysql
가져올 쿼리rank
의 근거로 학교들의school_views
.
스택 오버플로우에서 이 솔루션을 찾았습니다.
SET @points := -1, @num := 0;
SELECT scho_id
, school_views
, @num := if(@points = school_views, @num, @num + 1) as school_rank
, @points := school_info.school_views as dummy
FROM school_info
ORDER BY school_views desc, scho_id asc;
이것은 내 문제를 해결했지만 새로운 연산자가 눈에 띕니다.:=
이 질의에서는저는 이 연산자의 의미와 용도가 궁금합니다.
MySQL에서,:=
는 할당 연산자입니다.
SELECT @foo := 'bar'; // variable 'foo' now has value 'bar'
return value: 'bar'
하는 동안에=
는 등식 테스트입니다.
SELECT @foo = 'hi mom'; // does variable 'foo' have the value 'hi mom';
return value: false ('bar' == 'hi mom' -> false)
동등성 검정과 할당을 모두 수행할 수 있습니다.set
쿼리:
SET @foo = 'bar' = 'baz';
원인이 될 것입니다.@foo
배속되다false
, 의 부울한 결과'bar' = 'baz'
. 다음과 같이 실행됩니다.
SET @foo = ('bar' = 'baz');
SET @foo = false;
언급URL : https://stackoverflow.com/questions/39379659/what-does-the-operator-mean-in-mysql
반응형
'it-source' 카테고리의 다른 글
쥬리 겟제이SON 채우기 선택 메뉴 질문 (0) | 2023.09.23 |
---|---|
내장된 C 코드의 유지보수성을 위해 #c 소스 파일을 #포함해도 괜찮습니까? (0) | 2023.09.23 |
스택 및 힙의 메모리 할당 (0) | 2023.09.23 |
ng-repeat 내부 폼에 대한 AngularJs 동적 이름 (0) | 2023.09.23 |
PowerShell에서 복잡한 COM 방식을 호출하는 방법은? (0) | 2023.09.23 |