Зараз обговорюють

"Тобто є ряд завдань, які взагалі без рекурсії не наважуються."  - це як розуміти? Перефразуй, будь ласка. 

виправив, йшлося про те що деякі завдання можна вирішити лише при використанні рекурсії

Спасибі дуже корисна стаття

А ще щось планується подібного найближчим часом?


Дякую за підтримку, радий що Вам сподобалось!

Так маю вже майже дороблений проект по управлінні Audio файлом, на заміну стандартним клавішам управління HTML5, але ще не встиг відтестувати програвання файлів з інтернету, поки лише локально працює

Надіюсь найближчим часом дороблю й закину

Рахунки

webmoneyeur - E385818210641
usd - Z304643423050
uah - U354026817492
rub - R301704373231easypay80002677bitcoin1F5HRGroUtEQW9HBNbeew8iKh5KQ8vJxzw

Зворотній зв'язок

Для покращення роботи сайту надсилайте свої зауваження:
mailЗауваження
mailПропозиція

Статистика

UkrNET - поисково-информационный ресурс

SQL : Арифметичні операції та вбудовані функції

Мова структурованих запитів підтримує наступні арифметичні операції:

ОператорДія
+додавання
-віднімання
*множення
/ділення
%остача. Повертає залишок від ділення.
Можна зустріти також записану як MOD

Цікаві факти:

  1. в Oracle немає оператора для обчислення остачі, а використовується функція MOD(), що приймає два аргументи які необхідно поділити й отримати остачу від ділення
  2. при діленні на 0 в базах даних MySQL ми отримаємо NULL в інших помилку ділення на нуль
  3. для отримання цілого числа при діленні в MySQL наявний оператор DIV. Приклад: (9 DIV 2) = 4

а тепер перейдемо до найбільш вживаних функцій.


COUNT

повертає кількість записів

SELECT COUNT(column_name)
FROM table_name

SUM

повертає суму записів

SELECT SUM(column_name)
FROM table_name

MIN

повертає мінімальне значення із записів

SELECT MIN(column_name)
FROM table_name

MAX

повертає максимальне значення із записів

SELECT MAX(column_name)
FROM table_name

AVG

повертає середнє значення

SELECT AVG(column_name)
FROM table_name

FIRST

повертає перший рядок

SELECT AVG(column_name)
FROM table_name

LAST

повертає останній рядок

SELECT AVG(column_name)
FROM table_name

UCASE

перетворює поле в верхній регістр

SELECT UCASE(column_name)
FROM table_name

LCASE

перетворює поле в нижній регістр

SELECT LCASE(column_name)
FROM table_name

MID

вилучає символ з текстового поля

SELECT MID(column_name, start, length)
FROM table_name

LEN

повертає кількість символів текстового поля

SELECT LEN(column_name)
FROM table_name

ROUND

округлює числове значення до вказаного в умові десяткового знаку

SELECT ROUND(column_name, decimal)
FROM table_name

Примітка: функція ROUND округлює значення таким чином, що остання десяткова цифра буде парною! Тобто ROUND('24,75', 1) = 24,8 і ROUND('24,85', 1) = 24,8, а ROUND('24,9995', 3) = 25


NOW

повертає поточну дату та час

SELECT *, NOW()
FROM table_name

FORMAT

вказує формат в якому буде виведено дані

SELECT FORMAT(column_name, 'need format')
FROM table_name

Можливі формати на прикладі MS Access

ФорматОпис/Значення
YYYY, YYрік - 2017, 17
MMMM, MMM, MM, Mмісяць - Червень, Чер, 06, 6
DDDD, DDD, DD, Dдень - понеділок, Пн, 05, 5
WW, Wтиждень - 24 (в році), 2 (в місяці)
Qквартал - 2
HH:MM:SSГодина:хвилина:секунда
Так як хвилини і місяці записуються однаково, то значення хвилин необхідно вказувати у форматі включно із годинами
0ціле число
0,0ціле число із пробілами між тисячними
0.00число із двома знаками після коми
0.00%відсоток із двома знаками після коми

Примітка: числові формати розглянуто на прикладі дати 05/06/2017


Приклади

Отже розглянемо тепер на прикладі застосування вбудованих функцій. Для прикладу ми використаємо наступну таблицю даних:

IDcategoryproductprice
11118,99
22220,00
3332,00
444152,00
51586,00
6166,00
72727,00
8488,00

Приклад 1

На основі цих даних потрібно зробити вибірку яка буде показувати наступну інформацію:

  • - дані згруповано по категорії продукту
  • - к-ть продуктів в категорії
  • - суму цін в категорії
  • - мінімальну ціну в категорії
  • - максимальну ціну в категорії
  • - середнє значення ціни в категорії
  • - першу ціну з категорії
  • - останню ціну з категорії
  • - дата формування вибірки в форматі YYYY.MM.DD
SELECT t1.category, COUNT(t1.price) as COUNT, SUM(t1.price) as SUM, MIN(t1.price) as MIN, MAX(t1.price) as MAX, AVG(t1.price) as AVG, FIRST(t1.price) as FIRST, LAST(t1.price) as LAST, FORMAT(NOW(),'YYYY.MM.DD') as CurDate
FROM table1 as t1
GROUP BY t1.category

Результат:

categoryCOUNTSUMMINMAXAVGFIRSTLASTCurDate
13110,996,0086,0037,0018,996,002017.06.05
2247,0020,0027,0023,5020,0027,002017.06.05
312,002,002,002,002,002,002017.06.05
42160,008,00152,0080,00152,008,002017.06.05

Приклад 2

На основі цих даних потрібно зробити вибірку яка буде показувати наступну інформацію:

  • - категорія
  • - продукт
  • - ціна
  • - частка ціни в категорії продукту
SELECT t1.category, t1.product, t1.price, FORMAT(t1.price / (SELECT SUM(table1.price) FROM table1 WHERE table1.category=t1.category), '00.00%') as interest
FROM table1 as t1
ORDER BY  t1.category ASC, t1.price DESC
categoryproductpriceinterest
1586,0077,48%
1118,9917,11%
166,0005,41%
2727,0057,45%
2220,0042,55%
332,00100,00%
44152,0095,00%
488,0005,00%

view522like1dislike0 avatard_l4w clock 2017-06-05 21:04

Коментарі:



Для даної статті відсутні коментарі

Про нас

"Programmers World" розроблено з метою полегшення в освоєнні навичок програмування, та поширення матеріалів з сфери ІТ Українською мовою.

Кожен бажаючий може безкоштовно користуватися ресурсами сайту, щоб:

- Вивчати теоретичні аспекти мов програмування

- Переглядати практичне застосування теорії при виконанні різних міні проектів з відкритим кодом

- Розміщати свої завдання на форумі для допомоги в їх реалізації, або готового коду який може бути корисний іншим користувачам

- Спілкуватись з іншими користувачами та обмінюватись досвідом

Сайт функціонує на безопланій основі та ентузіазмі розробника, якщо Ви бажаєте долучитись до розвитку даного проекту то можете пожертвувати кошти на рахунки розміщені в блоці "Допомога сайту".

Сайт

Зареєстровані користувачі можуть скористатися системою діалогів, в профілі користувача, для отримання потрібної інформації. Написати!

Також Ви можете використати форми відправки Зауважень та Пропозицій.


Електронна пошта

Ви можете звертатись на нашу поштову скриньку site.programmersworld@gmail.com

www.000webhost.com