it-source

:= 연산자는 mysql에서 무엇을 의미합니까?

criticalcode 2023. 9. 23. 22:46
반응형

:= 연산자는 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

반응형