[ハッカーランキング]THEPADS


質問リンク

質問する


  • OCCUPATIONSのすべての名前を読み込み、()に各職業の最初のアルファベットを表示します.例)ActorName(A)、DocterName(D)

  • 次の表に従って、各職業の数字(職業名の昇順)を印刷します.There are a total of [occupation_count] [occupation]s.

  • Note: There will be at least two entries in the table for each type of occupation.
  • INPUT FORMAT


    TABLE NAME : OCCUPATIONS
    columntypeNAMESTRINGOCCUPATIONSTRING

    SAMPLE INPUT



    SAMPLE OUTPUT

    Ashely(P)
    Christeen(P)
    Jane(A)
    Jenny(D)
    Julia(A)
    Ketty(P)
    Maria(A)
    Meera(S)
    Priya(S)
    Samantha(D)
    There are a total of 2 doctors.
    There are a total of 2 singers.
    There are a total of 3 actors.
    There are a total of 3 professors.

    問題を解く


    まず必要な機能を見つけました.
    1)CONCAT、CONCAT WSでSTRINGを接続する
    <->比較:ORACLEは||接続STRINGを使用できます.
    CONCAT SELECT CONCAT(str1, str2 ...)
  • 文字列、合計
  • NULLが含まれている場合、戻り値はnullと無条件です.
  • CONCAT_WS SELECT CONCAT_WS(separator, str1, str2 ...)
  • 文字列がリストされ、区切り文字の値を使用して結合されます.
  • NULLに入ると、NULL以外のstr値が戻されます.
  • 2)SUBSTRを使用して職業COLUMの最初のアルファベットを抽出する
    3)GROUP BYとORDER BYで並べ替え
    4)COUNT関数による職業数字の計算
    5)LOWER関数で小文字を返す
    6)SET sql_mode = '';コードでONLY FULL GROUP BYを無効にする
    コメントリンク

    検索

    SELECT CONCAT(NAME, '(',SUBSTR(OCCUPATION, 1,1) ,')')
    FROM OCCUPATIONS
    ORDER BY NAME;
    
    SET sql_mode = '';
    SELECT CONCAT('There are a total of ',COUNT(NAME),' ',OCCUPATION,'s.') 
    FROM OCCUPATIONS
    GROUP BY OCCUPATION 
    ORDER BY COUNT(NAME), OCCUPATION;
    このコード状態では、エラーが発生し続け、何か問題があるかを検索し続けます.
    職業名を小文字で表記する条件があったのか...
    SELECT CONCAT(NAME, '(',SUBSTR(OCCUPATION, 1,1) ,')')
    FROM OCCUPATIONS
    ORDER BY NAME;
    
    SET sql_mode = '';
    SELECT CONCAT('There are a total of ',COUNT(NAME),' ',LOWER(OCCUPATION),'s.') 
    FROM OCCUPATIONS
    GROUP BY OCCUPATION 
    ORDER BY COUNT(NAME), OCCUPATION;
    OUTPUT
    Aamina(D) 
    Ashley(P) 
    Belvet(P) 
    Britney(P) 
    Christeen(S) 
    Eve(A) 
    Jane(S) 
    Jennifer(A) 
    Jenny(S) 
    Julia(D) 
    Ketty(A) 
    Kristeen(S) 
    Maria(P) 
    Meera(P) 
    Naomi(P) 
    Priya(D) 
    Priyanka(P) 
    Samantha(A) 
    There are a total of 3 doctors. 
    There are a total of 4 actors. 
    There are a total of 4 singers. 
    There are a total of 7 professors.
    正解!ハッカーランキングの中間問題は初めてだ.