Главная страница
Навигация по странице:

  • Вывести только те группы, в которых количество различных моментов времени (b_datetime), когда выполнялась окраска, более 10.

  • TOTAL ).

  • лАБОРАТОРНАЯ 3. ЛАБОРАТОРНАЯ РАБОТА 3. Лабораторная работа 3


    Скачать 0.75 Mb.
    НазваниеЛабораторная работа 3
    АнкорлАБОРАТОРНАЯ 3
    Дата12.10.2020
    Размер0.75 Mb.
    Формат файлаdocx
    Имя файлаЛАБОРАТОРНАЯ РАБОТА 3.docx
    ТипЛабораторная работа
    #142427

    ЛАБОРАТОРНАЯ РАБОТА №3

    ВАРИАНТ 17
    25. Найдите производителей принтеров, которые производят ПК с наименьшим объемом RAM и с самым быстрым процессором среди всех ПК, имеющих наименьший объем RAM. Вывести: Maker

    SELECT distinct product.maker

    FROM product

    WHERE product.type='Printer'

    INTERSECT

    SELECT distinct product.maker

    FROM product

    INNER JOIN pc

    ON pc.model=product.model

    WHERE product.type='PC'

    AND pc.ram=(SELECT MIN(ram) FROM pc)

    AND pc.speed = (SELECT MAX(speed)

    FROM (SELECT distinct speed FROM pc

    WHERE pc.ram=(SELECT MIN(ram) FROM pc)));

    119. Сгруппировать все окраски по дням, месяцам и годам. Идентификатор каждой группы должен иметь вид "yyyy" для года, "yyyy-mm" для месяца и "yyyy-mm-dd" для дня.

    Вывести только те группы, в которых количество различных моментов времени (b_datetime), когда выполнялась окраска, более 10.

    Вывод: идентификатор группы, суммарное количество потраченной краски.

    SELECT TO_CHAR(B_DATETIME, 'yyyy') AS year,

    SUM(B_VOL) AS color_sum

    FROM utB

    GROUP BY TO_CHAR(B_DATETIME, 'yyyy')

    HAVING COUNT(DISTINCT B_DATETIME) > 10

    UNION

    SELECT TO_CHAR(B_DATETIME, 'yyyy-mm') AS month,

    SUM(B_VOL) AS color_sum

    FROM utB

    GROUP BY TO_CHAR(B_DATETIME, 'yyyy-mm')

    HAVING COUNT(DISTINCT B_DATETIME) > 10

    UNION

    SELECT TO_CHAR(B_DATETIME, 'yyyy-mm-dd') AS day,

    SUM(B_VOL) AS color_sum

    FROM utB

    GROUP BY TO_CHAR(B_DATETIME, 'yyyy-mm-dd')

    HAVING COUNT(DISTINCT B_DATETIME) > 10;


    120. Для каждой авиакомпании, самолеты которой перевезли хотя бы одного пассажира, вычислить с точностью до двух десятичных знаков средние величины времени нахождения самолетов в воздухе (в минутах). Также рассчитать указанные характеристики по всем летавшим самолетам (использовать слово 'TOTAL').

    Вывод: компания, среднее арифметическое, среднее геометрическое, среднее квадратичное, среднее гармоническое.

    With t as

    (Select ID_comp, convert(numeric(18,2), Case when time_in > = time_out

    Then datediff(minute, time_out, time_in)

    Else datediff(minute, time_out, dateadd(day, 1, time_in))

    End) as trmin

    From (Select trip_no

    From Pass_in_trip

    Group by trip_no, [date]) pt join Trip t on pt.trip_no = t.trip_no

    )
    Select Coalesce(c.name, 'TOTAL'), A_mean, G_mean, Q_mean, H_mean

    From (

    Select Id_comp ,

    convert(numeric(18,2), avg(trmin)) A_mean,

    convert(numeric(18,2), Exp(avg(Log(trmin)))) G_mean,

    convert(numeric(18,2), sqrt(avg(trmin*trmin))) Q_mean,

    convert(numeric(18,2), count(*)/sum(1/trmin)) H_mean

    From t

    Group by ID_comp

    with cube) as a left join Company c on a.ID_comp = c.ID_comp

    121. Найдите названия всех тех кораблей из базы данных, о которых можно определенно сказать, что они были спущены на воду до 1941 г.


    написать администратору сайта