Exam-DataBases-12-July - Problem 9.* User in Games with Their Statistics
Мисля, че тази задача има грешка или в условието или по-вероятно в тестовете, защото решението в този му вид просто няма смисъл като статистика. Може ли някой да ми обясни защо се взима MAX(Character.Name) в SELECT-а вместо да се групира накрая по Character.Name? Разликата е в случаите, когато един потребител е играл с повече от един герой в дадена игра. Тогава се получават сборни статистики, като за типа герой се счита този по-назад по азбучен ред. Тъй като таблицата върви в низходящ ред на статистиките, трите примерни реда дадени в условието са точно такива случаи.
Не съм съгласен. Гледайки само output-а не знам как някой би се сетил, че трябва да обедини статистиките за различните типове герои, да не говорим, че това може да стане по различни начини, които ще ти дадат различен резултат накрая. Все пак това са задачи за тестване на знания и алгоритмично мислене, а не гатанки или игри на думи където трябва да стреляш напосоки докато уцелиш какво е имал предвид автора.
Точно на тази задача всеки стреляше на посоки, за да разбере от къде се получава примерния output. Едно условие е добре написано, когато единствено следвайки него може да решиш задачата. Знам за доста хора (и аз включително), които изобщо не са разбрали условието и накрая са изкарали с where оператора първия username от примерния output и са умували от къде се получават тези данни в примерния output. Това говори, че условието не е написано добре!
Що не отнася до обединяването на статистиките то от условието изобщо не се разбираше, че трябва да се обединят! Дори напротив - първата аналогия е човек да групира по username, game name И character.
За да е разбираема задачата трябва в условието ясно да се разбира какъв трябва да е крайния резултат, а студента са да определи логическите стъпки, с които да го постигне.