programing

저장된 MySql로 루프 및 선택

megabox 2023. 10. 11. 20:35
반응형

저장된 MySql로 루프 및 선택

저는 각 부서별로 각 비밀번호에 대한 마지막 입력을 선택해야 합니다.각 부서는 3자리의 비밀번호를 가지고 있으며, 각 사람은 부서별로 코드를 받습니다. 즉, A부서는 000-099번, B부서는 100-199번, C부서 201-299번 등 999번입니다.

데이터베이스에는 각 사용자의 이름과 암호가 저장됩니다.J smith 101 H frank 102 사옵 301 B Chesse 001 H 로버츠 401 K 로버트 402 b b bretty 403

저는 모든 결과를 반복해서 각 부서에서 마지막 번호를 반환해야 하는 정렬이 필요합니다(위의 경우 102,301,001,403).

많은 기쁨을 누리지 못하는 것은, 어떤 것이어야 합니다.

    delimiter #

    BEGIN

    declare nmax int unsigned default 9;

    declare nmin int unsigned default 0;

    while nmin < nmax do

    select Passcode from main where Passcode < min*100 limit 1;

    set nmin = nmin+1;

    end while;

    END #

    delimiter ;  

매번 1064 오류를 되돌린다고요?

'CREATE PROCEDURE'라는 대사를 놓치신 것 같네요여기 유사한 선언을 가진 내 콘솔 출력이 있습니다.

MySQL [prime]> delimiter #
MySQL [prime]> CREATE PROCEDURE p1 ()
    -> BEGIN
    -> declare nmax int unsigned default 9;
    -> declare nmin int unsigned default 0;
    -> while nmin < nmax do
    -> select n from primes where n < n*100 limit 1;
    -> set nmin = nmin+1;
    -> end while;
-> END #
Query OK, 0 rows affected (0.000 sec)

MySQL [prime]> call p1();
Empty set (0.000 sec)
Empty set (0.000 sec)
Empty set (0.000 sec)
Empty set (0.001 sec)
Empty set (0.001 sec)
Empty set (0.001 sec)
Empty set (0.001 sec)
Empty set (0.001 sec)
Empty set (0.001 sec)
Query OK, 0 rows affected (0.001 sec)

도움이 되었으면 좋겠습니다.

구문 오류를 수정한 후에는 몇 가지 문제가 더 발견될 것입니다.

  • 뭐가min?
  • In tanaydin의 답변에서 사용을 확인합니다.n; 엉망진창입니다.
  • LIMIT그것이 없으면 쓸모가 없습니다.ORDER BY
  • <그래야 한다>=

이것은 루프가 없는 다른 솔루션이 있는 "groupwise max"의 변형입니다.

언급URL : https://stackoverflow.com/questions/51635155/loop-and-select-with-stored-mysql

반응형