IN
연산자를 사용하여 mysql 데이터베이스에 대한 쿼리를 실행하려고합니다. 대신 순서대로 usernum
값을 출력 (outputting)의mysql IN 연산자가 내림차순으로 값을 반환합니다.
SELECT usernum FROM usergroup WHERE emailmain IN ('[email protected]', '[email protected]', '[email protected]')
쿼리 작품은 내림차순으로하여 출력에 들어갔다. 이메일에 맞춰야하기 때문에 문제가됩니다. 나는 그것이 limit
연산자 또는 ORDER BY emailmain
을 사용하여 할 수 있습니다 같아요. 나는 그것을 시도했지만 전자 메일이 데이터베이스에 존재하지 않는다고 가정하면 배열의 메모리 위치와 일치하지 않기 때문에 여전히 작동하지 않습니다.
가장 중요한 것은 데이터베이스에없는 이메일을 알고 있다는 것입니다.
도움이 필요하십니까?
아무 것도 지정하지 않으면 어떤 순서로 예상합니까? "EXPLAIN SELECT ..."구문을 사용하여 데이터베이스에서 데이터를 반환하는 데 사용하는 인덱스를 결정하는 데 도움이 될 수 있습니다. 당신이 지정하지 않으면 - mysql이 당신의 쿼리에 가장 적합한 인덱스를 사용할 것입니다. –
그래, 내가 무슨 생각을했는지 모르겠다. 그것의 늦은 나는 인덱스에 대해 생각하지 않았다. 그러나 나는 아직도 데이터베이스에없는 이메일을 말하지 않는 문제에 직면 해있다. – Trent
이것이 문제가 될 수 있습니다 - 내가하는 것처럼 생각하고 있습니다 - 프로그래머로서 - DBA가 아닙니다 - 99.9999 %의 모든 이메일은 여러분에게 없습니다 - 여러분이 원하는 것에 대해 "설정 이론"을 생각할 필요가 있습니다 - 대략적인 추측 "이 전자 메일 목록은 내 DB에 없습니다."제 제안은 전자 메일의 '테이블'을 만든 다음 왼쪽 조인을 수행하고 NULL을 확인하는 것입니다. –