Подсчитать количество вхождений по имени

Вопрос:

Первый таймер здесь, пожалуйста, извините меня, если мой вопрос несколько запутан. Я пытаюсь отображать вещи в динамической таблице, используя данные, извлеченные из таблицы SQL, и мне трудно понять логику.

Структура таблицы выглядит примерно так:

NAME   Homeruns  Hits    Bunts   Total

Jeff       0       3       1       4

Sally      2       4       0       6

John       3       7       0       10

Данные в таблице структурированы таким образом, что тип воспроизведения (Home run, hit, bunt и т.д.) Находится в одном столбце. Я назову этот столбец PLAY. Имя находится в отдельной колонке. Этот столбец будет называться NAME. Имя таблицы — BASEBALL.

Лучший ответ:

Это называется поворотным запросом. Вы можете сделать это в стандартном SQL с агрегацией:

select name,
       sum(case when play = 'HomeRun' then 1 else 0 end) as HomeRun,
       sum(case when play = 'hit' then 1 else 0 end) as Hit,
       sum(case when play = 'bunt' then 1 else 0 end) as Bunt,
       count(*) as Total
from baseball bb
group by name;

Это довольно простой SQL-запрос, поэтому я предполагаю, что ваш опыт меньше на стороне базы данных, чем на стороне программирования. Я бы предположил, что вы нашли время, чтобы правильно изучить язык SQL.

Оцените статью
TechArks.Ru
Добавить комментарий