Published on

June 26, 2021

Создание столбчатой диаграммы в SQL Server

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

Создание тестовой таблицы

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

CREATE TABLE StudentScore (
     student VARCHAR(20),
   , class VARCHAR(20),
   , score INT
);

Добавление образцовых данных

Затем давайте добавим некоторые образцовые данные в нашу таблицу. Мы вставим оценки четырех студентов: Джона, Сьюзи, Джима и Шерил. У каждого студента есть оценки по разным предметам. Вот SQL-код для вставки данных:

INSERT INTO StudentScore(student, class, score)
VALUES('John', 'math', 98),
    ('John', 'history', 76),
    ('John', 'science', 80),
    ('John', 'chemistry', 78),
    ('Suzie', 'math', 70),
    ('Suzie', 'history', 78),
    ('Suzie', 'science', 70),
    ('Suzie', 'chemistry', 70),
    ('Jim', 'math', 50),
    ('Jim', 'history', 50),
    ('Jim', 'science', 50),
    ('Jim', 'chemistry', 50),
    ('Cheryl', 'math', 90),
    ('Cheryl', 'history', 82),
    ('Cheryl', 'science', 80),
    ('Cheryl', 'chemistry', 70);

Запрос таблицы SQL

Теперь, когда у нас есть наша тестовая таблица и набор данных, давайте выполним запрос, чтобы вернуть минимальную, максимальную и среднюю оценки каждого студента. Мы будем использовать оператор GROUP BY и агрегатные функции для расчета этих значений. Вот SQL-код для запроса:

SELECT student,
   MIN(Score) AS 'MinScore',
   AVG(Score) AS 'Average',
   MAX(Score) AS 'MaxScore'
FROM StudentScore
GROUP BY student;

Построение столбчатой диаграммы

Теперь, когда мы знаем средние оценки, давайте поработаем над созданием столбца, который показывает простую столбчатую диаграмму, отражающую среднюю оценку для каждого студента. Мы будем использовать функцию SQL REPLICATE() для создания столбца. Вот пример того, как создать простой столбец с использованием функции REPLICATE():

SELECT REPLICATE('_', 50);

Этот запрос вернет 50 подчеркиваний, образуя одну линию. Вы можете использовать любой символ, который вам нравится, чтобы представить столбец.

Чтобы создать столбчатую диаграмму для наших данных, мы можем использовать следующий запрос:

SELECT student,
       AVG(Score) AS AvgScore,
       REPLICATE('_', AVG(Score)) AS Graph
FROM StudentScore
GROUP BY student;

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

Масштабирование столбчатой диаграммы

Если у вас есть данные, где верхнее значение может быть в тысячах или миллионах, вам может потребоваться масштабировать размер столбца, чтобы он отображался правильно. Для этого вы можете найти максимальную оценку в ваших данных и использовать ее в качестве верхнего значения. Затем разделите среднюю оценку на это значение и умножьте его на коэффициент масштабирования. Вот пример того, как масштабировать столбчатую диаграмму:

SELECT student,
       AVG(Score) AS AvgScore,
       REPLICATE('_', ROUND(CAST(AVG(Score) AS float) * 40.0 / CAST((SELECT MAX(SCORE) FROM Studentscore) AS float),0)) AS Graph
FROM StudentScore
GROUP BY student;

В этом примере мы масштабируем столбец до 40% от размера. Вы можете настроить коэффициент масштабирования в соответствии с вашими потребностями.

Заключение

В этом руководстве мы узнали, как создать столбчатую диаграмму в SQL Server с использованием SQL-запросов. Мы начали с создания тестовой таблицы и добавления образцовых данных. Затем мы запросили таблицу, чтобы рассчитать минимальные, максимальные и средние оценки для каждого студента. Наконец, мы построили столбчатую диаграмму с использованием функции REPLICATE() и масштабировали ее под наши данные. Следуя этим шагам, вы можете создавать информативные и визуально привлекательные столбчатые диаграммы непосредственно в SQL Server.

Удачного построения диаграмм!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.