Софтуерно Инженерство
Loading...
+ Нов въпрос
YordanDringov avatar YordanDringov 26 Точки

[Exercise Data Aggregation] - Problem 09. Age Groups

SELECT 
	CASE
	  WHEN w.Age BETWEEN 0 AND 10 THEN '[0-10]'
	  WHEN w.Age BETWEEN 11 AND 20 THEN '[11-20]'
	  WHEN w.Age BETWEEN 21 AND 30 THEN '[21-30]'
	  WHEN w.Age BETWEEN 31 AND 40 THEN '[31-40]'
	  WHEN w.Age BETWEEN 41 AND 50 THEN '[41-50]'
	  WHEN w.Age BETWEEN 51 AND 60 THEN '[51-60]'
	  WHEN w.Age >= 61 THEN '[60+]'
	END AS [AgeGroup],
COUNT(*) AS [WizardCount]
	FROM WizzardDeposits AS w
GROUP BY CASE
	  WHEN w.Age BETWEEN 0 AND 10 THEN '[0-10]'
	  WHEN w.Age BETWEEN 11 AND 20 THEN '[11-20]'
	  WHEN w.Age BETWEEN 21 AND 30 THEN '[21-30]'
	  WHEN w.Age BETWEEN 31 AND 40 THEN '[31-40]'
	  WHEN w.Age BETWEEN 41 AND 50 THEN '[41-50]'
	  WHEN w.Age BETWEEN 51 AND 60 THEN '[51-60]'
	  WHEN w.Age >= 61 THEN '[60+]'
	END

Получавам верен резултат според примера, който е посочен в домашното, но Judge не смята така? Не мога да открия какъв е проблема и ще се радвам някой да удари едно рамо по въпроса.

0
Databases Basics 04/02/2017 11:11:17
Gesh4o avatar Gesh4o SoftUni Team Trainer 305 Точки

Здравейте,

Според условието последната група трябва да е '[61+]'.

Поздрави! :)

1
YordanDringov avatar YordanDringov 26 Точки

това се нарича недоглеждане :D Благодаря!

1
martinski avatar martinski 68 Точки

Доколкото помня в последния случай е [61+] а не [60+].

1
sap.phire avatar sap.phire 3 Точки

Аз имам въпрос за конкретната задача, някой има ли с друго решение, че това GROUP BY CASE ... END изглежда супер дървено (не, че и аз не го реших така де :D ) ? Опитах да напиша GROUP BY [AgeGroup] ма хората от Microsoft не са го имплементирали, някой сеща ли се за нещо по-хитро вместо да пишем по 250 реда GROUP BY CASE ... END  :Д ?

0
01/10/2017 17:09:27