💫 Как вместо id подставить значение sql
Чтобы вместо значения id вставить другое значение в SQL, вы можете использовать оператор UPDATE для обновления данных в таблице.
Допустим, у вас есть таблица my_table со столбцами id, name и age. Чтобы обновить значение name для строки с определенным значением id, используйте следующий запрос:
В этом запросе my_table - это название вашей таблицы, name - это название столбца, значение которого нужно обновить, New Name - это новое значение, которое вы хотите установить, а id = 1 - это условие, которое определяет, какая строка должна быть обновлена. Вместо 1 вы можете использовать любое значение, которое соответствует условию.
Также вы можете использовать оператор UPDATE для обновления нескольких столбцов в одной строке.
Например, чтобы обновить значения столбцов name и age для строки с определенным значением id, используйте следующий запрос:
В результате выполнения этого запроса значения столбцов name и age будут обновлены для строки с id равным 1.
@sqlhub
Чтобы вместо значения id вставить другое значение в SQL, вы можете использовать оператор UPDATE для обновления данных в таблице.
Допустим, у вас есть таблица my_table со столбцами id, name и age. Чтобы обновить значение name для строки с определенным значением id, используйте следующий запрос:
UPDATE my_table SET name = 'New Name' WHERE id = 1;
В этом запросе my_table - это название вашей таблицы, name - это название столбца, значение которого нужно обновить, New Name - это новое значение, которое вы хотите установить, а id = 1 - это условие, которое определяет, какая строка должна быть обновлена. Вместо 1 вы можете использовать любое значение, которое соответствует условию.
Также вы можете использовать оператор UPDATE для обновления нескольких столбцов в одной строке.
Например, чтобы обновить значения столбцов name и age для строки с определенным значением id, используйте следующий запрос:
UPDATE my_table SET name = 'New Name', age = 30 WHERE id = 1;
В результате выполнения этого запроса значения столбцов name и age будут обновлены для строки с id равным 1.
@sqlhub
👍16🔥3❤2
SQLite – это легковесная и удобная в использовании система управления базами данных. Но приложения, использующие SQLite, могут столкнуться с проблемами производительности, которые могут негативно отразиться на работе всего приложения.
Благодаря новому гайду от Google, разработчики получат ценные рекомендации по оптимизации работы с SQLite. Новейшие техники и советы помогут избежать возможных проблем с производительностью и ускорят работу приложения.
Хотя эти рекомендации сконцентрированы на Android-приложениях и примеры кода даны на Kotlin и Java, техники оптимизации производительности могут быть полезны для любого разработчика, работающего с SQLite.
📌 Читать
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2❤1
📌Подключаем SQLAlchemy к существующей базой данных SQL Server в Python
Создание ORM-модели SQLAlchemy из существующей базы данных SQL Server.
📖Библиотеки
* SQLAlchemy
* pyodbc
Вы можете установить эти библиотеки с помощью команды pip в терминале.
Давайте писать!
Во-первых, нам нужно создать базовый класс для нашей модели. Создайте файл с именем base.py и добавьте в него следующий код:
Теперь нам нужно сопоставить существующую таблицу с нашим классом. В данном случае мы сопоставим таблицу с двумя колонками с нашей моделью. Таблица представляет собой базу клиентов с полями кода и именем. Для этого мы создадим файл customer.py и добавим в него следующий код:
После того как мы создали базовый класс и класс отображения таблиц, пришло время создать модель. Для этого мы создадим отдельный файл dbmodel.py и импортируем класс таблиц клиентов, который мы только что создали, чтобы выполнять в нем запросы.
Обратите внимание, что в коде мы передаем строку подключения в качестве параметра. Эта строка подключения немного отличается от той, что нужна для SQLite, и мы определим ее в файле run.py, где мы соберем все вместе и запустим тест. Добавим в файл следующий код:
@sqlhub
Создание ORM-модели SQLAlchemy из существующей базы данных SQL Server.
📖Библиотеки
* SQLAlchemy
* pyodbc
Вы можете установить эти библиотеки с помощью команды pip в терминале.
pip install sqlalchemy
pip install pyodbc
Давайте писать!
Во-первых, нам нужно создать базовый класс для нашей модели. Создайте файл с именем base.py и добавьте в него следующий код:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
Теперь нам нужно сопоставить существующую таблицу с нашим классом. В данном случае мы сопоставим таблицу с двумя колонками с нашей моделью. Таблица представляет собой базу клиентов с полями кода и именем. Для этого мы создадим файл customer.py и добавим в него следующий код:
import sqlalchemy as sa
from base import Base # Reference to the previously created class
class Customer(Base):
__tablename__ = 'customer' # Name of the table in the database
customerid = sa.Column('customerid',sa.String(20), primary_key=True)
customername = sa.Column('customername',sa.String(20))
После того как мы создали базовый класс и класс отображения таблиц, пришло время создать модель. Для этого мы создадим отдельный файл dbmodel.py и импортируем класс таблиц клиентов, который мы только что создали, чтобы выполнять в нем запросы.
from sqlalchemy import create_engine, select
from sqlalchemy.orm import sessionmaker
from customer import Customer # Customer map class
class dbmodel(object):
db_config = ''
engine = object
def __init__(self, conn_string) -> None:
self.engine = create_engine(conn_string)
# Function to get the name of a customer by id
def get_customer_name_by_id(self, customer_id):
Session = sessionmaker(bind=self.engine, future=True)
session = Session()
result = customer_id
try:
customer_row = session.execute(
select(
Customer
).where(
Customer.customerid == customer_id
)
).scalar_one_or_none()
if customer_row is not None:
result = customer_row.customername
return result
except Exception as ex:
print(ex.args)
Обратите внимание, что в коде мы передаем строку подключения в качестве параметра. Эта строка подключения немного отличается от той, что нужна для SQLite, и мы определим ее в файле run.py, где мы соберем все вместе и запустим тест. Добавим в файл следующий код:
import sys
import dbmodel as db
def main(argv):
user = 'youruser'
password = 'yourpassword'
server = 'yourhost'
dbname = 'yourdbname'
# SQL Server connection string
connString = 'mssql+pyodbc://{0}:{1}@{2}/{3}?driver=SQL Server'.format(user, password, server, dbname)
accountToGet = 'xxx'
dbSQL = db.dbmodel(connString)
customer_name = dbSQL.get_customer_name_by_id(accountToGet)
print(customer_name)
if __name__ == '__main__':
main(sys.argv[1:])
@sqlhub
👍11❤1🔥1
🔥 Подборка каналов для Дата сайентиста
🖥 Machine learning
ai_ml – машинное обучение, ии, нейросети.
datasc - Data science в телеграм!
@bigdatai - Big Data
@machinelearning_ru – гайды по машинному обучению
@machinelearning_interview – подготовка к собеседованию мл.
@datascienceiot – бесплатные книги ds
@ArtificialIntelligencedl – ИИ
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - вакансии ds, ml
@Machinelearning_Jobs - чат с вакансиями
#️⃣ c# c++
C# - погружение в C#
@csharp_cplus чат
С++ - обучающий канал по C++.
@csharp_1001_notes - инструменты C#
🖥 SQL базы данных
@sqlhub - Повышение эффективности кода с грамотным использованием бд.
@chat_sql - чат изучения бд.
👣 Golang
@Golang_google - восхитительный язык от Google, мощный и перспективный.
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@golangtests - интересные тесты и задачи GO
@golangl - чат изучающих Go
@GolangJobsit - отборные вакансии и работа GO
@golang_jobsgo - чат для ищущих работу.
@golang_books - полезные книги Golang
@golang_speak - обсуждение языка Go
@golangnewss - новости go
🖥 Linux
linux - kali linux ос для хакинга
linux chat - чат linux для обучения и помощи.
@linux_read - бесплатные книги linux
🖥 Python
@pythonl - главный канал самого популярного языка программирования.
@pro_python_code – учим python с ментором.
@python_job_interview – подготовка к Python собеседованию.
@python_testit - проверочные тесты на python
@pythonlbooks - современные книги Python
@python_djangojobs - работа для Python программистов
@python_django_work - чат обсуждения вакансий
🖥 Javascript / front
@react_tg - - 40,14% разработчиков сайтов использовали React в 2022 году - это самая популярная библиотека для создания сайтов.
@javascript -канал для JS и FrontEnd разработчиков. Лучшие практики и примеры кода. Туториалы и фишки JS
@Js Tests - каверзные тесты JS
@hashdev - погружение в web разработку.
@javascriptjobjs - отборные вакансии и работа FrontEnd.
@jsspeak - чат поиска FrontEnd работы.
🖥 Java
@javatg - выучить Java с senior разработчиком на практике
@javachats - чат для ответов на вопросы по Java
@java_library - библиотека книг Java
@android_its - Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
👷♂️ IT работа
https://t.me/addlist/_zyy_jQ_QUsyM2Vi -ит каналы по яп с вакансиями
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - Rust избавлен от болевых точек, которые есть во многих современных яп
@rust_chats - чат rust
📓 Книги
https://t.me/addlist/HwywK4fErd8wYzQy - актуальные книги по всем яп
⭐️ Нейронные сети
@vistehno - chatgpt ведет блог, решает любые задачи и отвечает на любые ваши вопросы.
@aigen - сети для генерации картинок. видео, музыки и многого другого.
@neural – погружение в нейросети.
📢 English for coders
@english_forprogrammers - Английский для программистов
🖥 Devops
Devops - канал для DevOps специалистов.
ai_ml – машинное обучение, ии, нейросети.
datasc - Data science в телеграм!
@bigdatai - Big Data
@machinelearning_ru – гайды по машинному обучению
@machinelearning_interview – подготовка к собеседованию мл.
@datascienceiot – бесплатные книги ds
@ArtificialIntelligencedl – ИИ
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - вакансии ds, ml
@Machinelearning_Jobs - чат с вакансиями
#️⃣ c# c++
C# - погружение в C#
@csharp_cplus чат
С++ - обучающий канал по C++.
@csharp_1001_notes - инструменты C#
@sqlhub - Повышение эффективности кода с грамотным использованием бд.
@chat_sql - чат изучения бд.
@Golang_google - восхитительный язык от Google, мощный и перспективный.
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@golangtests - интересные тесты и задачи GO
@golangl - чат изучающих Go
@GolangJobsit - отборные вакансии и работа GO
@golang_jobsgo - чат для ищущих работу.
@golang_books - полезные книги Golang
@golang_speak - обсуждение языка Go
@golangnewss - новости go
linux - kali linux ос для хакинга
linux chat - чат linux для обучения и помощи.
@linux_read - бесплатные книги linux
@pythonl - главный канал самого популярного языка программирования.
@pro_python_code – учим python с ментором.
@python_job_interview – подготовка к Python собеседованию.
@python_testit - проверочные тесты на python
@pythonlbooks - современные книги Python
@python_djangojobs - работа для Python программистов
@python_django_work - чат обсуждения вакансий
@react_tg - - 40,14% разработчиков сайтов использовали React в 2022 году - это самая популярная библиотека для создания сайтов.
@javascript -канал для JS и FrontEnd разработчиков. Лучшие практики и примеры кода. Туториалы и фишки JS
@Js Tests - каверзные тесты JS
@hashdev - погружение в web разработку.
@javascriptjobjs - отборные вакансии и работа FrontEnd.
@jsspeak - чат поиска FrontEnd работы.
@javatg - выучить Java с senior разработчиком на практике
@javachats - чат для ответов на вопросы по Java
@java_library - библиотека книг Java
@android_its - Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
👷♂️ IT работа
https://t.me/addlist/_zyy_jQ_QUsyM2Vi -ит каналы по яп с вакансиями
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - Rust избавлен от болевых точек, которые есть во многих современных яп
@rust_chats - чат rust
📓 Книги
https://t.me/addlist/HwywK4fErd8wYzQy - актуальные книги по всем яп
@vistehno - chatgpt ведет блог, решает любые задачи и отвечает на любые ваши вопросы.
@aigen - сети для генерации картинок. видео, музыки и многого другого.
@neural – погружение в нейросети.
@english_forprogrammers - Английский для программистов
Devops - канал для DevOps специалистов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🔥1
🧑🏫 9 лучших курсов и сертификаций по Spark.
Apache Spark — фреймворк с открытым исходным кодом для реализации распределённой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop.
1. NoSQL, Big Data, and Spark Foundations Specialization
Время прохождения – 4 месяца (если тратить 3 часа в неделю)
Кому стоит записаться?
Для новичков.
2. Distributed Computing with Spark SQL
Время прохождения – 13 часов
Кто должен записаться на курс?
Тем, кто уже имеет представление о SQL.
3. Apache Spark (TM) SQL for Data Analysts
Время прохождения – 13 часов
Кому стоит записаться на курс?
Тем, кто уже знаком с SQL.
4.Meta Spark Creator AR Certification Prep Specialization
Время прохождения – 3 месяца
Кому стоит записаться?
Тем, кто является новичком.
5. Data Analysis Using Pyspark
Время выполнения – 1,5 часа
Кому стоит записаться на курс?
Тем, кто уже знает программирование на Python.
6. Scalable Machine Learning on Big Data using Apache Spark
Время прохождения – 6 часов
Кому стоит записаться?
Тем, кто уже владеет Python, машинным обучением и базовыми знаниями SQL.
7. Big Data Analysis with Scala and Spark
Время прохождения – 27 часов
Кому стоит записаться?
Тем, у кого есть предыдущие знания программирования на любом языке.
8. Data Engineering with MS Azure Synapse Apache Spark Pools
Время прохождения – 7 часов
Кому стоит записаться на курс?
Тем, кто уже знает Python или SQL.
9. Building Machine Learning Pipelines in PySpark MLlib
Время выполнения – 1,5 часа
Кому стоит записаться?
Тем, кто знает Python и основы машинного обучения.
@sqlhub
Apache Spark — фреймворк с открытым исходным кодом для реализации распределённой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop.
1. NoSQL, Big Data, and Spark Foundations Specialization
Время прохождения – 4 месяца (если тратить 3 часа в неделю)
Кому стоит записаться?
Для новичков.
2. Distributed Computing with Spark SQL
Время прохождения – 13 часов
Кто должен записаться на курс?
Тем, кто уже имеет представление о SQL.
3. Apache Spark (TM) SQL for Data Analysts
Время прохождения – 13 часов
Кому стоит записаться на курс?
Тем, кто уже знаком с SQL.
4.Meta Spark Creator AR Certification Prep Specialization
Время прохождения – 3 месяца
Кому стоит записаться?
Тем, кто является новичком.
5. Data Analysis Using Pyspark
Время выполнения – 1,5 часа
Кому стоит записаться на курс?
Тем, кто уже знает программирование на Python.
6. Scalable Machine Learning on Big Data using Apache Spark
Время прохождения – 6 часов
Кому стоит записаться?
Тем, кто уже владеет Python, машинным обучением и базовыми знаниями SQL.
7. Big Data Analysis with Scala and Spark
Время прохождения – 27 часов
Кому стоит записаться?
Тем, у кого есть предыдущие знания программирования на любом языке.
8. Data Engineering with MS Azure Synapse Apache Spark Pools
Время прохождения – 7 часов
Кому стоит записаться на курс?
Тем, кто уже знает Python или SQL.
9. Building Machine Learning Pipelines in PySpark MLlib
Время выполнения – 1,5 часа
Кому стоит записаться?
Тем, кто знает Python и основы машинного обучения.
@sqlhub
👍14❤5🔥3
🔥 Краткий обзор 25 баз данных, которые актуальны в 2023 году.
Сейчас я познакомлю вас с 25 актуальными базами данных.
От классических фаворитов до передовых новичков,
приготовьтесь к дикой поездке по стране баз данных!
1. MySQL – The Classic
MySQL – это надежный дедушка баз данных – он существует с самой зари времен и каким-то образом продолжает становиться все лучше.
Благодаря высокой производительности и совместимости почти со всеми языками программирования.
2. MongoDB – NoSQL Hipster Kid
MongoDB - это крутая NoSQL база, которую я часто использую в своих проектах.
3. PostgreSQL – The Sophisticated One
PostgreSQL, возможно, представляет собой идеальное сочетание производительности, функциональности и элегантности.
4. Oracle – The Enterprise Behemoth
Oracle похож на популярного школьника, который получает одни пятерки, но при этом играет в каждой спортивной команде – он все делает хорошо!
5. Cassandra – Distributed Dynamo
Cassandra – это королева пчел распределенных баз данных – она обладает высокой масштабируемостью и отказоустойчивостью.
6. Redis – The Speedster
Redis – это тот единственный друг, который может бегать быстрее Усэйна Болта, жонглируя горящими бензопилами. Это хранилище данных in-memory отличается молниеносной скоростью и идеально подходит для кэширования или приложений реального времени.
7. MariaDB – MySQL’s Open-Source Sibling
MariaDB имеет много общего с MySQL, но при этом делает упор на открытый исходный код и ориентированность на сообщество. Это как выбор между Pepsi и Coke – они обе утоляют жажду, просто зависит от того, какой вкус вы предпочитаете!
▪ Читать дальше
@sqlhub
Сейчас я познакомлю вас с 25 актуальными базами данных.
От классических фаворитов до передовых новичков,
приготовьтесь к дикой поездке по стране баз данных!
1. MySQL – The Classic
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
MySQL – это надежный дедушка баз данных – он существует с самой зари времен и каким-то образом продолжает становиться все лучше.
Благодаря высокой производительности и совместимости почти со всеми языками программирования.
2. MongoDB – NoSQL Hipster Kid
// Connect to MongoDB and insert a document
const { MongoClient } = require("mongodb");
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);
await client.connect();
const db = client.db("mydb");
await db.collection("users").insertOne({ name: "John Rush" });
MongoDB - это крутая NoSQL база, которую я часто использую в своих проектах.
3. PostgreSQL – The Sophisticated One
CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
PostgreSQL, возможно, представляет собой идеальное сочетание производительности, функциональности и элегантности.
4. Oracle – The Enterprise Behemoth
CREATE TABLE users (id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, name VARCHAR2(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
Oracle похож на популярного школьника, который получает одни пятерки, но при этом играет в каждой спортивной команде – он все делает хорошо!
5. Cassandra – Distributed Dynamo
from cassandra.cluster import Cluster
cluster = Cluster(["127.0.0.1"])
session = cluster.connect()
session.execute("""
CREATE KEYSPACE mykeyspace
WITH replication={'class':'SimpleStrategy', 'replication_factor':1}
""")
session.set_keyspace("mykeyspace")
session.execute("""
CREATE TABLE users (
id UUID PRIMARY KEY,
name text
)
""")
Cassandra – это королева пчел распределенных баз данных – она обладает высокой масштабируемостью и отказоустойчивостью.
6. Redis – The Speedster
import redis
r = redis.Redis(host="localhost", port=6379)
r.set("name", "John Rush")
print(r.get("name"))
Redis – это тот единственный друг, который может бегать быстрее Усэйна Болта, жонглируя горящими бензопилами. Это хранилище данных in-memory отличается молниеносной скоростью и идеально подходит для кэширования или приложений реального времени.
7. MariaDB – MySQL’s Open-Source Sibling
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255));
INSERT INTO users (name) VALUES ('John Rush');
SELECT * FROM users;
MariaDB имеет много общего с MySQL, но при этом делает упор на открытый исходный код и ориентированность на сообщество. Это как выбор между Pepsi и Coke – они обе утоляют жажду, просто зависит от того, какой вкус вы предпочитаете!
▪ Читать дальше
@sqlhub
👍14🔥4❤2
В редакторе кода задаете любой запрос про данные на естественном языке и без написания кода получаете готовый ответ по вашим данным.
Установка:
pip install pandasai
Например, вы можете попросить PandasAI найти все строки в DataFrame, где значение столбца больше 5, и он вернет DataFrame, содержащий только эти строки:
import pandas as pd
from pandasai import PandasAI
df = pd.DataFrame({
"country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
"gdp": [19294482071552, 2891615567872, 2411255037952, 3435817336832, 1745433788416, 1181205135360, 1607402389504, 1490967855104, 4380756541440, 14631844184064],
"happiness_index": [6.94, 7.16, 6.66, 7.07, 6.38, 6.4, 7.23, 7.22, 5.87, 5.12]
})
# Instantiate a LLM
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token="YOUR_API_TOKEN")
pandas_ai = PandasAI(llm)
pandas_ai(df, prompt='Which are the 5 happiest countries?')
Вывод:
6 Canada
7 Australia
1 United Kingdom
3 Germany
0 United States
Name: country, dtype: object
Конечно, вы также можете попросить PandasAI выполнить более сложные запросы. Например, вы можете попросить PandasAI найти сумму ВВП двух самых несчастливых стран:
pandas_ai(df, prompt='What is the sum of the GDPs of the 2 unhappiest countries?')
Вывод:
19012600725504
Вы также можете попросить PandasAI нарисовать график:
pandas_ai(
df,
"Plot the histogram of countries showing for each the gdp, using different colors for each bar",
)
Вот еще один пример использования библиотеки Pandas AI в Google Colab.
▪ Github
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥7❤3👎1
🔥 30 SQL-запросов, объяснённых через их эквиваленты Pandas
В мире, где с 1974 года доминирует SQL, в 2008 году появился Pandas, предлагающий привлекательные функции, такие как встроенная визуализация и гибкая обработка данных. Он быстро стал популярным инструментом для исследования данных, затмив собой SQL.
Но не обманывайте себя, SQL по-прежнему держит свои позиции. Это второй по востребованности и третий по скорости роста язык для Data science (см. здесь ). Таким образом, в то время как Pandas привлекает всеобщее внимание, SQL остаётся жизненно важным навыком для любого специалиста по данным.
Давайте узнаем, как легко выучить SQL, если вы уже знаете Pandas.
▪Читать
@sqlhub
В мире, где с 1974 года доминирует SQL, в 2008 году появился Pandas, предлагающий привлекательные функции, такие как встроенная визуализация и гибкая обработка данных. Он быстро стал популярным инструментом для исследования данных, затмив собой SQL.
Но не обманывайте себя, SQL по-прежнему держит свои позиции. Это второй по востребованности и третий по скорости роста язык для Data science (см. здесь ). Таким образом, в то время как Pandas привлекает всеобщее внимание, SQL остаётся жизненно важным навыком для любого специалиста по данным.
Давайте узнаем, как легко выучить SQL, если вы уже знаете Pandas.
▪Читать
@sqlhub
👍19❤2🔥2
📌 SQL: Медианные суммы заказов
Необходимо рассчитать медианное значение суммы заказов в разрезе года и месяца. Медиана должна быть рассчитана в 2 вариантах:
▪интерполированная медиана: в качестве медианы берется сумма, которая делит все заказы ровно в 50% пропорции, даже если фактически такого заказа на было.
▪действительная медиана: в качестве медианы берется реальная сумма заказа. Если заказов четное число, то берется ближайшая сумма заказа, меньшая интерполированной медианы.
Пример:
Дано: 1; 2
Интерполированная медиана: 1.5
Действительная медиана: 1
Важно: Одним заказом считаем строки из таблицы Orders в которых полностью совпадает поле ord_datetime.
Сортировка
Результат отсортируйте по возрастанию года-месяца.
Столбцы в результате
▪dt - год и месяц
▪interpolated_median - интерполированная медиана
▪real_median - действительная медиана
Важно: Обратите внимание, что название столбцов в вашем ответе должно в точности совпадать с условием.
Дополнительные условия
▪Столбец dt должен быть представлен в виде строки в формате YYYY-MM
▪Столбцы с медианами должны иметь тип numeric
Пишите свое решение в комментариях👇
@sqlhub
Необходимо рассчитать медианное значение суммы заказов в разрезе года и месяца. Медиана должна быть рассчитана в 2 вариантах:
▪интерполированная медиана: в качестве медианы берется сумма, которая делит все заказы ровно в 50% пропорции, даже если фактически такого заказа на было.
▪действительная медиана: в качестве медианы берется реальная сумма заказа. Если заказов четное число, то берется ближайшая сумма заказа, меньшая интерполированной медианы.
Пример:
Дано: 1; 2
Интерполированная медиана: 1.5
Действительная медиана: 1
Важно: Одним заказом считаем строки из таблицы Orders в которых полностью совпадает поле ord_datetime.
Сортировка
Результат отсортируйте по возрастанию года-месяца.
Столбцы в результате
▪dt - год и месяц
▪interpolated_median - интерполированная медиана
▪real_median - действительная медиана
Важно: Обратите внимание, что название столбцов в вашем ответе должно в точности совпадать с условием.
Дополнительные условия
▪Столбец dt должен быть представлен в виде строки в формате YYYY-MM
▪Столбцы с медианами должны иметь тип numeric
Пишите свое решение в комментариях👇
@sqlhub
❤6👍3🔥1
Forwarded from YTsaurus Community Chat (RU)
🦖 Вебинар YTsaurus. DWH Яндекс Go: как мы готовим наши петабайты
Новый вебинар YTsaurus — об использовании платформы в реальных сервисах. В гостях — Яндекс Go, суперапп с разными сервисами внутри, который основан на data driven подходе. Владимир Верстов и Николай Гребенщиков из команды разработки Data Management Platform Яндекс Go расскажут, какие требования команда предъявляет к системам хранения и расскажет, как с этими требованиями справляется YTsaurus.
Ждём 28 июня в 18:30 Мск. Участие бесплатное, зарегистрироваться можно по ссылке.
Также запись вебинара будет доступна на YouTube.
Новый вебинар YTsaurus — об использовании платформы в реальных сервисах. В гостях — Яндекс Go, суперапп с разными сервисами внутри, который основан на data driven подходе. Владимир Верстов и Николай Гребенщиков из команды разработки Data Management Platform Яндекс Go расскажут, какие требования команда предъявляет к системам хранения и расскажет, как с этими требованиями справляется YTsaurus.
Ждём 28 июня в 18:30 Мск. Участие бесплатное, зарегистрироваться можно по ссылке.
Также запись вебинара будет доступна на YouTube.
❤1
Как освободить место без удаления индексов или данных
Раз в несколько месяцев мы получаем предупреждения от системы мониторинга базы данных о том, что свободное место скоро закончится. Обычно мы просто выделяем больше места и забываем об этом, однако в этот раз мы были на карантине и система была нагружена меньше, чем обычно. И тут мы подумали, что это хорошая возможность провести чистку.
Начнем с конца: в итоге нам удалось освободить более чем 70 GB не оптимизированного и неиспользуемого пространства без удаления индексов и данных.
Используя обычные приемы, такие как перестроение индексов и таблиц, мы очистили много пространства, но затем одна удивительная находка помогла нам освободить дополнительно примерно 20 GB неиспользуемых индексированных значений.
▪ Читать
#postgresql
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥3
Вы можете легко выполнить запрос MySQL из командной строки, используя команду MySQL вместе с опцией
-e.
mysql -h [хост] -u [имя пользователя] -p [пароль] [база данных] -e [SQL_запрос]
В приведенной выше команде необходимо указать имя пользователя, пароль, имя базы данных для соединения с базой данных MySQL. После опции
-e
необходимо указать SQL-запрос, который будет выполняться.Вот простой пример выполнения SQL-запроса при подключении к локальной базе данных.
mysql -utest_user -ptest_password -hlocalhost db -e "SELECT * FROM table;".
Вы также можете опустить аргумент имени базы данных
'db',
если вы ссылаетесь на нее в SQL-запросе.mysql -utest_user -ptest_password -hlocalhost -e "SELECT * FROM db.table;"
Добавление точки с запятой в конце SQL-запроса необязательно. Но если вы хотите выполнить несколько SQL-запросов, вам необходимо разделить их с помощью точки с запятой, как показано в следующем примере.
mysql -utest_user -ptest_password -hlocalhost -e "SELECT * FROM db.table; SELECT * from db.table2;"
Вы также можете выполнять отдельные команды MySQL с опцией
-e,
если хотите.mysql -utest_user -ptest_password -hlocalhost -e "SELECT * FROM db.table;"
mysql -utest_user -ptest_password -hlocalhost -e "SELECT * FROM db.table2;"
Вы также можете хранить свои SQL-запросы в файле и указать MySQL прочитать этот файл. Допустим, у вас есть файл queries.txt
nano queries.txt
со следующими запросами.
SELECT * FROM db.table;
SELECT * FROM db.table2;
Теперь, если вы хотите выполнить запросы в файле queries.txt, вы можете сделать это с помощью следующей команды. В этом случае MySQL будет читать входные данные из файла queries.txt.
mysql -utest_user -ptest_password -hlocalhost < queries.txt
Ключевым моментом, на который следует обратить внимание, является то, что вы должны указать ваш SQL-запрос в двойных кавычках. Если приведенный выше синтаксис команды вам не подходит, попробуйте заключить SQL-запрос в одинарные кавычки.
Также, если ваш SQL-запрос сам содержит двойные кавычки, то их нужно убрать, добавив перед ними обратную косую черту.
Результат вышеприведенного запроса будет выведен на консоль. Если вы хотите сохранить этот результат в другом файле, вам нужно будет использовать операторы перенаправления. Вот пример сохранения результата запроса MySQL в файл test.txt.
mysql -utest_user -ptest_password -hlocalhost -e "SELECT * FROM db.table;" > /home/user/test.txt
Одним из преимуществ выполнения запросов MySQL в командной строке является то, что вы можете передавать вывод другим командам Linux в соответствии с вашими требованиями. Вот простой пример, в котором мы передаем вывод запроса MySQL команде grep.
$ mysql -utest_user -ptest_password -hlocalhost -e "SELECT * FROM db.table;" | grep 'abc'
Заключение
В этом посте мы рассмотрели, как выполнять запросы MySQL из командной строки, сохранять их вывод в файлы и даже передавать их другим командам Linux для дальнейшей обработки. Вы можете эффективно использовать их в сценарии оболочки для автоматического получения данных, их обработки и принятия мер в зависимости от полученной информации.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥5❤1
🔍Где и как учить SQL бесплатно?
SQLZoo - это бесплатный онлайн ресурс, который предлагает интерактивные уроки и задания для изучения SQL. Уроки начинаются с простых запросов и постепенно усложняются по мере продвижения в обучении.
W3Schools SQL - известный онлайн-ресурс, предлагающий уроки и примеры для изучения SQL и других языков программирования. Здесь пользователи могут найти множество материалов, которые помогут им углубить свои знания и применить их на практике.
Codecademy SQL - интерактивный курс для изучения SQL с возможностью практического применения на практике.
SQLBolt - это ресурс, который помогает начинающим и опытным пользователям SQL с помощью бесплатных уроков и задач.
Udacity SQL - курс известного онлайн-образовательного ресурса, позволит вам освоить основы языка SQL и показать, как применять его для анализа данных
Khan Academy SQL - бесплатный курс SQL, предоставляющий уроки и задачи для изучения языка.
LearnSQL - платный ресурс для изучения SQL. Содержит большое количество уроков и практических заданий.
SQLCourse - представляет собой бесплатную платформу, где можно овладеть навыками SQL. Здесь предоставлены обучающие уроки, практические задания и тесты, позволяющие проверить свои знания.
SQL Tutorial - это русскоязычный бесплатный ресурс, предоставляющий возможность изучения SQL. Здесь можно найти уроки и задания, которые помогут вам применять полученные знания на практике.
SQL Zoo - бесплатный ресурс для изучения SQL, содержащий уроки и задания на основе базы данных AdventureWorks.
Mode Analytics SQL Tutorial - бесплатный курс, который предлагает обучение базовым и продвинутым навыкам работы с языком SQL.
SQL Exercises - это бесплатный онлайн-ресурс, который предлагает задачи и упражнения для изучения и практики SQL. Ресурс содержит множество заданий, которые помогут вам развить практические навыки работы с SQL.
SQL Fiddle – это интернет-сервис, который предоставляет возможность создавать, тестировать и отлаживать SQL-запросы совершенно бесплатно.
Learn SQL the Hard Way - книга для изучения SQL, содержащая уроки и задания для практической работы.
DataCamp SQL- курс SQL от DataCamp, который научит Вас основам языка SQL и его применению в анализе данных. Содержит уроки и практические задания на практике.
@sqlhub
SQLZoo - это бесплатный онлайн ресурс, который предлагает интерактивные уроки и задания для изучения SQL. Уроки начинаются с простых запросов и постепенно усложняются по мере продвижения в обучении.
W3Schools SQL - известный онлайн-ресурс, предлагающий уроки и примеры для изучения SQL и других языков программирования. Здесь пользователи могут найти множество материалов, которые помогут им углубить свои знания и применить их на практике.
Codecademy SQL - интерактивный курс для изучения SQL с возможностью практического применения на практике.
SQLBolt - это ресурс, который помогает начинающим и опытным пользователям SQL с помощью бесплатных уроков и задач.
Udacity SQL - курс известного онлайн-образовательного ресурса, позволит вам освоить основы языка SQL и показать, как применять его для анализа данных
Khan Academy SQL - бесплатный курс SQL, предоставляющий уроки и задачи для изучения языка.
LearnSQL - платный ресурс для изучения SQL. Содержит большое количество уроков и практических заданий.
SQLCourse - представляет собой бесплатную платформу, где можно овладеть навыками SQL. Здесь предоставлены обучающие уроки, практические задания и тесты, позволяющие проверить свои знания.
SQL Tutorial - это русскоязычный бесплатный ресурс, предоставляющий возможность изучения SQL. Здесь можно найти уроки и задания, которые помогут вам применять полученные знания на практике.
SQL Zoo - бесплатный ресурс для изучения SQL, содержащий уроки и задания на основе базы данных AdventureWorks.
Mode Analytics SQL Tutorial - бесплатный курс, который предлагает обучение базовым и продвинутым навыкам работы с языком SQL.
SQL Exercises - это бесплатный онлайн-ресурс, который предлагает задачи и упражнения для изучения и практики SQL. Ресурс содержит множество заданий, которые помогут вам развить практические навыки работы с SQL.
SQL Fiddle – это интернет-сервис, который предоставляет возможность создавать, тестировать и отлаживать SQL-запросы совершенно бесплатно.
Learn SQL the Hard Way - книга для изучения SQL, содержащая уроки и задания для практической работы.
DataCamp SQL- курс SQL от DataCamp, который научит Вас основам языка SQL и его применению в анализе данных. Содержит уроки и практические задания на практике.
@sqlhub
👍22🔥4❤3
Жестовый язык, квази-эксперименты и коды на PySpark Pipeline: Х5 Tech проведет Data Science Meetup #2
На онлайн-митапе 5 июля выступят спикеры из X5 Tech, Яндекс Маркет и SberDevices, чтобы поделиться своим опытом и обсудить несколько тем:
➖ Как с помощью PySpark Pipeline писать читаемый, легко тестируемый и поддерживаемый код?
➖ Как оценить эффект без стандартных A/B-тестов с помощью квази-экспериментов методом Propensity Score?
➖ Какие есть проблемы и решения в распознавании жестового языка?
🔔5 июля в 18:00
Участие бесплатно, нужна регистрация
На онлайн-митапе 5 июля выступят спикеры из X5 Tech, Яндекс Маркет и SberDevices, чтобы поделиться своим опытом и обсудить несколько тем:
➖ Как с помощью PySpark Pipeline писать читаемый, легко тестируемый и поддерживаемый код?
➖ Как оценить эффект без стандартных A/B-тестов с помощью квази-экспериментов методом Propensity Score?
➖ Какие есть проблемы и решения в распознавании жестового языка?
🔔5 июля в 18:00
Участие бесплатно, нужна регистрация
🔍 MySQL vs MongoDB
MySQL
Классическая реляционная база, известная практически каждому. Рассмотрим ее основные плюсы:
1. Проверенное временем решение. Действительно сложно с этим спорить. К тому же, современная MySQL — очень развитая и надежная СУБД, имеющая большое сообщество и множество примеров реализации.
2. Высокая совместимость. MySQL доступна на основных платформах: Linux, Mac, Windows, BSD, Solaris. Еще существуют библиотеки для Node.js, C++, Ruby, C#, Java, PHP, Perl, Python.
3. Окупаемость. Не секрет, что СУБД имеет открытый исходный код, который находится в свободном доступе.
4. Реплицируемость. Вы можете распределять БД между несколькими узлами, понижая нагрузку и повышая масштабируемость и доступность.
5. Шардинг. Если шардинг на многих SQL-базах и невозможен, то к MySQL это не относится.
MongoDB
Яркий представитель нереляционных БД, имеющий свои плюсы:
1. Динамическая схема. Позволяет более гибко работать со схемами данных без надобности в изменении самих данных.
2. Масштабируемость. MongoDB масштабируется горизонтально, поэтому вы сможете легко снизить нагрузку на серверы при наличии больших объемов данных.
3. Удобное управление. Отдельный администратор не нужен, а повышенное удобство применения позволяет использовать эту БД как разработчикам, так и системным администраторам.
4. Скорость. База отличается повышенной производительностью при выполнении простых запросов.
5. Гибкость. Вы можете добавлять поля либо колонки без какого-либо вреда для уже существующих данных и производительности СУБД.
Что же выбрать?
На эту тему можно написать отдельную статью, но мы ограничимся несколькими предложениями:
— MySQL — отличный выбор для любого проекта, если у нас предопределена структура и заданы схемы;
— MongoDB — прекрасный вариант для быстрорастущих проектов, не имеющих определенной схемы данных. И особенно она подходит, если вы никак не можете определить схему своей БД либо вам не годится ни одна из существующих схем из других СУБД.
@sqlhub
MySQL
Классическая реляционная база, известная практически каждому. Рассмотрим ее основные плюсы:
1. Проверенное временем решение. Действительно сложно с этим спорить. К тому же, современная MySQL — очень развитая и надежная СУБД, имеющая большое сообщество и множество примеров реализации.
2. Высокая совместимость. MySQL доступна на основных платформах: Linux, Mac, Windows, BSD, Solaris. Еще существуют библиотеки для Node.js, C++, Ruby, C#, Java, PHP, Perl, Python.
3. Окупаемость. Не секрет, что СУБД имеет открытый исходный код, который находится в свободном доступе.
4. Реплицируемость. Вы можете распределять БД между несколькими узлами, понижая нагрузку и повышая масштабируемость и доступность.
5. Шардинг. Если шардинг на многих SQL-базах и невозможен, то к MySQL это не относится.
MongoDB
Яркий представитель нереляционных БД, имеющий свои плюсы:
1. Динамическая схема. Позволяет более гибко работать со схемами данных без надобности в изменении самих данных.
2. Масштабируемость. MongoDB масштабируется горизонтально, поэтому вы сможете легко снизить нагрузку на серверы при наличии больших объемов данных.
3. Удобное управление. Отдельный администратор не нужен, а повышенное удобство применения позволяет использовать эту БД как разработчикам, так и системным администраторам.
4. Скорость. База отличается повышенной производительностью при выполнении простых запросов.
5. Гибкость. Вы можете добавлять поля либо колонки без какого-либо вреда для уже существующих данных и производительности СУБД.
Что же выбрать?
На эту тему можно написать отдельную статью, но мы ограничимся несколькими предложениями:
— MySQL — отличный выбор для любого проекта, если у нас предопределена структура и заданы схемы;
— MongoDB — прекрасный вариант для быстрорастущих проектов, не имеющих определенной схемы данных. И особенно она подходит, если вы никак не можете определить схему своей БД либо вам не годится ни одна из существующих схем из других СУБД.
@sqlhub
👍15🔥2❤1
Думаю, каждый хоть раз использовал команду explain или хотя бы слышал про нее. Эта команда демонстрирует план выполнения запроса, но как именно СУБД приходит к нему остается загадкой. Да и как вообще СУБД понимает, что выбранный запрос оптимален? Неужели она проверяет все возможные варианты?
В этой статье я постараюсь дать небольшое представление о том, как работают оптимизаторы запросов с теоретической точки зрения.
Начнем с того, что можно выделить два основных подхода к поиску наиболее эффективного варианта выполнения: эвристический и стоимостной.
📌 Читать
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤3👍3
При выборе баз данных для текущего проекта (или при замене тех, которые не отвечают вашим текущим потребностям) количество возможных вариантов очень велико. Это и хорошо, и плохо, ведь нужны какие-то критерии фильтрации.
Сегодня есть гораздо больше баз данных, чем когда-либо. В декабре 2012 года, когда DB-Engines.com впервые начал ранжировать базы данных, у него получился список из 73 систем (существенный рост по сравнению с самым первым списком из 18 систем). Спустя десять лет, на декабрь 2022 года в списке было уже почти четыреста систем. За последнее десятилетие произошёл настоящий кембрийский взрыв технологий баз данных.
Нужно ориентироваться в обширном пространстве вариантов: SQL, NoSQL, множество «многомодельных» баз данных, которые могут быть сочетанием SQL и NoSQL, или множественные модели данных NoSQL (сочетающие две или более опций: документы, ключи-значения, широкие столбцы, графы и так далее).
Кроме того, пользователи не должны путать популярность с применимостью для них. Хотя сетевой эффект имеет свои преимущества («Все пользуются X, поэтому не ошибусь, если выберу её»), он также может привести к групповому мышлению, торможению инноваций и конкуренции.
▪ Читать статью
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🥰1
Два продвинутых SQL-метода, которые могут значительно улучшить ваши запросы
SQL — это основа для каждого специалиста по работе с данными. Неважно, являетесь ли вы аналитиком данных, специалистом по данным или инженером по обработке данных, вам необходимо иметь четкое представление о том, как писать чистые и эффективные SQL-запросы.
Это связано с тем, что за любым тщательным анализом данных или любой сложной моделью машинного обучения стоят базовые данные, и эти данные должны откуда-то поступать.
Cегодня мы рассмотрим две новые техники SQL, которые вы можете добавить в свой набор инструментов, чтобы вывести ваши запросы на новый уровень. Эти методы называются Обобщённое табличное выражение (CTE) и Оконные функции.
▪ Читать
@sqlhub
SQL — это основа для каждого специалиста по работе с данными. Неважно, являетесь ли вы аналитиком данных, специалистом по данным или инженером по обработке данных, вам необходимо иметь четкое представление о том, как писать чистые и эффективные SQL-запросы.
Это связано с тем, что за любым тщательным анализом данных или любой сложной моделью машинного обучения стоят базовые данные, и эти данные должны откуда-то поступать.
Cегодня мы рассмотрим две новые техники SQL, которые вы можете добавить в свой набор инструментов, чтобы вывести ваши запросы на новый уровень. Эти методы называются Обобщённое табличное выражение (CTE) и Оконные функции.
▪ Читать
@sqlhub
👍18❤3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍6🥰2