This media is not supported in your browser
VIEW IN TELEGRAM
#XML
в строки и столбцы в Oracle #SQL
с помощьюXMLTABLE ( '/path/to/elements' PASSING <xml> COLUMNS ... )
Команда генерирует строку для каждого элемента, на который ссылается путь.
COLUMNS
определяет путь к элементам и атрибутам, находящимся в этом пункте.@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
t1 MINUS t2
Любые дубликаты строк только в
T1
исключаются из результатовВ 21c добавлен
MINUS ALL
, который возвращает избыточные дубликаты.Также добавлен синоним
MINUS
- EXCEPT
, соответствующий стандарту #SQLOператор
MINUS
используется для возврата всех строк первого запроса SELECT
, не возвращаемых вторым SELECT
. @sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Чтобы получить его в единицах измерения (например, часах или секундах) в Oracle #SQL
Сначала вы извлекаете необходимый интервал времени, затем преобразовываете его в целевую единицу (час/секунду и тд).
например:
EXTRACT ( DAY FROM diff ) * 24 ) +
EXTRACT ( HOUR FROM diff ) +
EXTRACT ( MINUTE FROM diff ) / 60...
@sqlhubPlease open Telegram to view this post
VIEW IN TELEGRAM
👏9🔥7❤4👍3
На HuggingFace вышла модель Text-to-SQL на 6.91 млрд. параметров.
Модель позволяет превращать обычный текстовый запрос к БД в SQL-выражение:
Вопрос: Выведи день, когда пришло больше всего пользователей
Ответ:
SELECT created_at::DATE AS day, COUNT(*) AS user_count
FROM users
GROUP BY day
ORDER BY user_count DESC
LIMIT 1;
Код:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("chatdb/natural-sql-7b")
model = AutoModelForCausalLM.from_pretrained(
"chatdb/natural-sql-7b",
device_map="auto",
torch_dtype=torch.float16,
)
#sql #llm@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥6❤5😢1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3❤2
В статье показано, как с помощью matching в Oracle #SQL найти серию последовательных строк с начальной даты и до конечной:
MATCH_RECOGNIZE (
...
PATTERN (str e+)
DEFINE e AS start_date = PREV(end_date) + 1 --start is 1 day after previous end
)
https://how2ora-en.blogspot.com/2023/01/how-to-check-if-row-is-continuation-of.html@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Вы можете присваивать столбцу значение по УМОЛЧАНИЮ при добавлении или изменении строк с помощью ключевого слова DEFAULT
#SQL #ORACLE
@sqlhub
INSERT INTO ... VALUES ( DEFAULT, ... )
UPDATE ... SET ... = DEFAULT
#SQL #ORACLE
@sqlhub
👍25❤5🔥2
Громоздкие #SQL запросы трудно читать, понимать и поддерживать.
С помощью dbt вы можете использовать функцию
ref
, чтобы разбить длинный SQL-запросы на более мелкие компоненты, делая их более читаемыми и удобными для обслуживания.
-- models/total_order_amount.sql
SELECT
order_id,
customer_id,
SUM(order_amount) AS total_amount
FROM
raw_orders
GROUP BY order_id, customer_id
models/average_order_amount.sql:
-- models/average_order_amount.sql
SELECT
customer_id,
AVG(total_amount) AS avg_amount
FROM {{ ref('total_order_amount') }}
GROUP BY customer_id
▪ Github
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍7❤6👎4