@habrachat

Страница 3594 из 6731
я люблю грин дей
01.02.2017
07:47:45
чо залип

leon4uk
01.02.2017
07:48:00
да вам скажи)

Славик
01.02.2017
07:50:28
нифига
ну вывод будет 3 колонки

айди, дата, значение

Google
Славик
01.02.2017
07:50:58
а я хочу 7

leon4uk
01.02.2017
07:51:06
добавить колнку с датой)

IT hub
01.02.2017
07:51:48
Как продать стартап корпорации: пример продажи «ВКармане» «Тинькофф Банку» — Колонка основателя акселератора Disruptive.vc

Славик
01.02.2017
07:53:40
IT hub
01.02.2017
08:13:58
Гаджеты для современного киборга

leon4uk
01.02.2017
08:44:18
не
как нет то

IT hub
01.02.2017
08:46:58
«Пятерочка» запустит программу лояльности для покупателей

Alexander
01.02.2017
08:52:16
Alexander Matyushin: Есть кто кинотеатры обслуживает? Вопрос по сервису рентрак

IT hub
01.02.2017
09:03:48
От небольшой кондитерской до всемирного бренда — история Ferrero

Реверс-инжиниринг лазерного сканера Leuze RS4

Славик
01.02.2017
09:26:15
как нет то
таблицу менять не вариант

IT hub
01.02.2017
09:28:58
Основы компьютерных сетей. Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP

Google решила отнять у россиянина домен ɢoogle.com из-за рассылки спама

Google
leon4uk
01.02.2017
09:41:44
не понял чего хочешь, Славик

Славик
01.02.2017
09:59:32
таблица user date value

3 колонки, я хочу запрос, который вернет 6 колонок

user date1 date2 date3 date4 date 5 value1 value2 value3 value4 value5

Маришка
01.02.2017
10:03:40
Эт как ._.

Славик
01.02.2017
10:04:41
я пока кроме как 5 джойнов не вижу вариантов

select user, value, date from tbl as tbl1 join tbl as tbl2 on tbl1.user = tbl2.user where tbl1.date = <сегодня> and tbl2.date = <вчера> и т.д.

Taras ?
01.02.2017
10:15:42
я пока кроме как 5 джойнов не вижу вариантов
и на скольких пользователях 5 джоинов перестанет вытаскивать?

вроде неспроста в хайлоаде пытаются избавиться/вообще не используют джоины

Славик
01.02.2017
10:16:30
я как бы потому и написал эту задачу здесь

что меня джойны не устраивают

другой адекватный вариант тащить данные из таблицы и потом просто обрабатывать их в нужную структуру на языке

Taras ?
01.02.2017
10:17:27
я как бы потому и написал эту задачу здесь
процитируй задачу пожалуйста — интересно стало (а саму задачу я чет прошляпил)

Славик
01.02.2017
10:17:36
но мне интересно, есть ли нормальные способы этого добиться на sql

есть таблица в базе id | дата (день) | значение (число) каждый день в нее пишутся текущие значения для каждой айдишки, то есть айдишки постоянно повторяются собственно, задача: написать запрос, который бы вывел топ30 айдишек по значению вместе историей за предыдущие 5 дней результат типа мог бы быть таким: id | 31.01 | 30.01 | 29.01 | 28.01 | 27.01 5 | 10 | 20 | 15 | 12 | 12 7 | 9 | 20 | 15 | 12 | 12 ...

если у кого религия не позволяет айдишкам быть не ключами, то считайте, что колонка user

суть в том, чтобы получить историю за N дней изменения значения для пользователя

Taras ?
01.02.2017
10:18:35
но мне интересно, есть ли нормальные способы этого добиться на sql
есть еще процедуры в субд (правда говорят пахнет извращениями)

Славик
01.02.2017
10:18:54
знаю

Taras ?
01.02.2017
10:19:12
суть в том, чтобы получить историю за N дней изменения значения для пользователя
именно для одного пользователя? или нескольких сразу?

Google
Славик
01.02.2017
10:19:18
нескольких сразу

топ30 же написано

Taras ?
01.02.2017
10:20:07
топ30 пользователей — имеется ввиду топ по определенному параметру отдельному, или чисто по айди?

Славик
01.02.2017
10:20:57
по значению же написано

IT hub
01.02.2017
10:20:59
[Перевод] GitHub ввёл теги для репозиториев

Taras ?
01.02.2017
10:21:06
дата — тип date? или таймстамп? или path(ltree) ?

Славик
01.02.2017
10:21:07
который бы вывел топ30 айдишек по значению

день

плевать, в каком виде

группировать можно

ну пусть будет число в виде YYYYMMDD

написать функцию, которая для указанной строки будет перебирать все варианты с разным регистром букв

Славик
01.02.2017
10:26:51
например, для слова "лох" будут варианты: Лох ЛОх ЛОХ ЛоХ лОХ лоХ лОх

вот держи еще одну

я за 10 минут написал функцию на Js

Taras ?
01.02.2017
10:33:20
SELECT "id", "date", "value" from "TABLE" WHERE "id" IN ( SELECT "id" FROM "table" WHERE "date" = '31.01' ORDER BY "value" DESC LIMIT 30) WHERE "date" IN ('31.01', '30.01', '29.01', '28.01', '27.01') ORDER BY "date" DESC, "value" DESC так как-то, хоть можна и еще отрефакторить — вместо второго IN — больше и меньше таймстамп

Il'ya
01.02.2017
10:34:04
Славик, что с Шпойёном?

Taras ?
01.02.2017
10:34:10
насчет бд — это поинтересней, да

Славик
01.02.2017
10:34:35
select 1

Google
Taras ?
01.02.2017
10:35:06
по сути подзапрос — тот же джоин, ну может там на миллисеку быстрей работает, но тут один подзапрос а не 5 джоинов

Славик
01.02.2017
10:35:38


сертификат протух

и ты ничего не изменил

на выходе 3 колонки будет

Taras ?
01.02.2017
10:36:45
всмысле ничего не изменил?

Admin
ERROR: S client not available

Taras ?
01.02.2017
10:37:27
данные достались(вроде не напутал с сортировкой, мог с параметрами IN напутать - давно не юзал), осталось их вывести и все

Славик
01.02.2017
10:39:14
SELECT id, znacheniye from a_temp_table_one where date > (current_date - INTERVAL '5 days') limit 30

то же самое

Taras ?
01.02.2017
10:40:29
не то же самое — у тебя привязка к последним 5 дням а как сделать выборку 5 рабочих дней произвольной недели? опять в код залазить?))

хотя в общем да - интервал - удобней, это да

и у тебя берет 30 строк

а по условиям задачи — не сказано что у одного пользователя не может быть несколько записей одного дня

Маришка
01.02.2017
10:41:54
Так и нужно же вывести топ 30 пользователей

Taras ?
01.02.2017
10:42:40
ну так если у одного айди больше одной строки в один день — достанется 30 записей, но не обьязательно 30 пользователей

Славик
01.02.2017
10:43:06
на выходе 6 колонок должно быть

это самое главное

Taras ?
01.02.2017
10:43:52
я ведь не знаю до какой реальной проблемы является задачей-решением эта задача —- там может фиксировать и много результатов игр многих пользователей каждого дня —- и это вывод таблицы в анализаторе

Google
Taras ?
01.02.2017
10:44:24
на выходе 6 колонок должно быть
это делается в коде, не в субд незачем микроскопом е**шить гвозди — для последнего есть молоток

все данные достали, достали в нужном качестве и порядке — остальное делает не субд,, субд и без того - узкое место

IT hub
01.02.2017
10:59:09
AirSelfie — мини-дрон для селфи, который крепится на чехол смартфона

Karina
01.02.2017
11:06:39
Я таки родилась под счастливой звездой

Сдала физику

Славик
01.02.2017
11:06:55
поздравляю

IT hub
01.02.2017
11:07:58
«Мигранты» из Uber — Почему американские водители такси-сервисов вынуждены ночевать на парковках

Audi представила в России модель A5 Coupe, синхронизировав анимационные эффекты шоу и движения автомобиля

Сервис для хранения кода GitLab случайно удалил почти 300 ГБ данных из-за ошибки сисадмина

[Перевод] Как я создал SaaS-сервис, который приносит мне 1000 долларов в месяц

Будущее или новый вид мошенничества: продолжение дискуссии об алгоритмической торговле

leon4uk
01.02.2017
11:40:01
select user, value, date from tbl as tbl1 JOIN LATERAL (SELECT user, value, date from tbl as tbl2 WHERE tbl1.user = tbl2.user AND date = current_date - INTERVAL - '1 day' LIMIT 1 ) AS tbl1 ON TRUE WHERE tbl1.date = current_date;

Славик
01.02.2017
11:43:59
select user, value, date from tbl as tbl1 join tbl as tbl2 on tbl1.user = tbl2.user where tbl1.date = <сегодня> and tbl2.date = <вчера> и т.д.

leon4uk
01.02.2017
11:45:03
дык я тебе написал куда лучше

EXPLAIN (ANALYZE, BUFFERS) сделай

потом кинь сюда

https://explain.depesz.com/

IT hub
01.02.2017
11:48:09
Защита сайта от хакерских атак — Web Application Firewall

[Перевод] Биологи приближаются к разгадке узоров Тьюринга

Страница 3594 из 6731