@mysql_ru

Страница 64 из 142
Yaroslav
01.09.2017
10:12:46
увеличивал такие параметры, как: max_rows, max_heap_table_size, делал строки динамическими, engine делал innodb

ибо может быть несколько максимальных?

Magic
01.09.2017
10:14:06
ибо может быть несколько максимальных?
да, возвращается только 1 стркоа Об этом и речь изначально. нужно вернуть максимальный value для каждой branch_id

Google
Magic
01.09.2017
10:14:26
ну соответственно там где value там user_id

Нельзя как то сделать select * from (select...) group by branch_id ?

судя по ошибке sql нельзя(

а было бы удобно

lost
01.09.2017
10:18:00
судя по ошибке sql нельзя(
ошибку какую получаешь?

есть вопрос, подскажите пожалуйста, ошибка появляется, что таблица полная. The tables "name" is full
залей куда-нибудь sql код как ты работаешь с временной таблицей

Magic
01.09.2017
10:21:28
ошибку какую получаешь?
1248 - Every derived table must have its own alias

ошибку какую получаешь?
Делаю так: SELECT * FROM (SELECT users.id, users.value, subscriptions.branch_id FROM users,subscriptions) GROUP BY branch_id

lost
01.09.2017
10:22:15
ой божечки

Fike
01.09.2017
10:22:22
сделай нормальный джойн и проименуй таблицы

или там даже просто префикс таблицы в GROUP BY сработает?

lost
01.09.2017
10:22:50
@etkee приде, парядок наведе

префикс сработает

Google
Yaroslav
01.09.2017
10:23:36
залей куда-нибудь sql код как ты работаешь с временной таблицей
INSERT INTO temporary (products_id, value) SELECT SQL_CACHE distinct(t1.products_id), 1000 FROM products AS t1

Magic
01.09.2017
10:23:44
я в sql не ахти мастер, пока не приходилось часто с джойном работать. по этому как правильно применить тоже не соображу. просто групбай с префиксом - не сработает, должен?

lost
01.09.2017
10:24:18
INSERT INTO temporary (products_id, value) SELECT SQL_CACHE distinct(t1.products_id), 1000 FROM products AS t1
залей на pastebin какой-нибудь полынй код от создания таблицы до инсерта

Yaroslav
01.09.2017
10:24:36
Fike
01.09.2017
10:24:50
Делаю так: SELECT * FROM (SELECT users.id, users.value, subscriptions.branch_id FROM users,subscriptions) GROUP BY branch_id
SELECT users.id, users.value, subscriptions.branch_id FROM users,subscriptions GROUP BY subscriptions.branch_id семантически не то же самое?

Yaroslav
01.09.2017
10:25:03
странности начались при увеличении количества записей в таблице, которая использутеся для инсерта

я не могу понять, какое ограничение нужно убрать/изменить

lost
01.09.2017
10:25:43
ты его уже изменял

Yaroslav
01.09.2017
10:26:01
и вернул обратно

Yaroslav
01.09.2017
10:26:40
ты его уже изменял
подскажи может, в теории, куда копать?

я правильно понимаю, что уткнулся где-то в ограничение?

lost
01.09.2017
10:26:52
изменял параметры как?

Fike
01.09.2017
10:26:53
я лишь как пример указал, без MAX
user_id может повторяться?

Yaroslav
01.09.2017
10:27:18
изменял параметры как?
через sql query: set, и через настройки мухли (перезагружал ее потом)

Magic
01.09.2017
10:27:34
user_id может повторяться?
Врятли. По идее у каждого user_id своя branch_id и вот надо выбрать из users всех юзеров с максимальным value но с группировкой по каждой branch_id

Yaroslav
01.09.2017
10:27:36
в создание таблицы дописывал насчет строк

и менял engine в запросе на create

Magic
01.09.2017
10:27:54
Google
Magic
01.09.2017
10:28:13
пока не повторяется но в будущем возможно что у одного юзер ид может быть два branch

Но давайте пока рассмотрим с неповторяющимся

Fike
01.09.2017
10:28:37
что такое макисмальный value? максимальный внутри таблицы? максимальный у одного пользователя?

lost
01.09.2017
10:29:13
через sql query: set, и через настройки мухли (перезагружал ее потом)
ну и перезагрузкой сбросил ты скорее всего значение на дефолт

Magic
01.09.2017
10:29:17
Fike
01.09.2017
10:29:31
требуется выбрать для каждого бранча пользователя, который имеет самый больший value для этого бранча?

Yaroslav
01.09.2017
10:29:41
я оставлял запрос на set перед созданием. т.е. он заного выполнялся

Yaroslav
01.09.2017
10:29:55
вопрос, в том, те ли я параметры правил

lost
01.09.2017
10:31:44
параметры те

пришли код создания таблицы

Fike
01.09.2017
10:32:21
сразу предупрежу, что с прямыми sql-запросами давно баловался SELECT MAX(u.value) AS value, u.user_id, s.branch_id FROM subscriptions AS s LEFT JOIN users AS u ON s.user_id = u.user_id GROUP BY s.branch_id работает?

Yaroslav
01.09.2017
10:32:41
lost
01.09.2017
10:32:47
присылай

Fike
01.09.2017
10:35:51
для начала убедимся, что я не налажал

для branch_id = 3 существуют связанные пользователи?

Magic
01.09.2017
10:36:40
да, для обеих 3 и 6 есть пользователи

много

Google
Magic
01.09.2017
10:37:22
тю, сейчас

Fike
01.09.2017
10:37:28
SELECT * FROM subscriptions AS s LEFT JOIN users AS u ON s.user_id = u.user_id LIMIT 5 выведет ожидаемые вещи?

Magic
01.09.2017
10:37:34
видимо я налажал чуть, переправив на свой вариант, секунду)

SELECT * FROM subscriptions AS s LEFT JOIN users AS u ON s.user_id = u.user_id LIMIT 5 выведет ожидаемые вещи?
Все правильно с той формулой, просто в s нет id, там user_id а в u есть id но нет user_id )



Вот только не понятно еще одно

как так получается, что запрос

SELECT MAX(users.value), users.value ..... выводит что MAX - 159 хотя value - 153

Danil
01.09.2017
10:56:43
эм... на скриншете же прям прямо написанно- Value- 159

Fike
01.09.2017
10:56:54
в этом и вопрос, насколько понимаю

Magic
01.09.2017
10:57:13
эм... на скриншете же прям прямо написанно- Value- 159
да. но у этого юзера максимальный валуе соит 153 при обычном просмотре

в этом и фишка

поле int 255

Danil
01.09.2017
10:57:28
а... сорян.... извиняюсь.

Magic
01.09.2017
11:00:01
Больше странностей богу странностей! SELECT MAX(value), value,id FROM users:

как так то?

что за бредни мускуль дает

Fike
01.09.2017
11:01:49
Хотя все верно, SELECT * FROM users WHERE value = 159

Их может быть несколько

Google
Magic
01.09.2017
11:02:44
Хотя все верно, SELECT * FROM users WHERE value = 159
тоесть просто выборка верная просто айдишник не верный?

если так, то меня устраивает, в принципе

Fike
01.09.2017
11:03:26
У тебя может быть несколько пользователей с одинаковым MAX(value). Тут уже к тебе вопрос, как ты хочешь эту ситуацию разрешать.

Magic
01.09.2017
11:03:46
типо айдишник перезаписывается, понял

Да, в моей ситуации важно понять просто максимальный value для branch

т.е айдишник мне в общем то не нужен

просто для понимания. если больше одного ну и пусть

можно конечно извратиться посчитать количество с максимальным value если больше 1, но задача так не стоит

Еще раз спасибо @etkee

Может у тебя есть яндекс?

миллионы не обеспечу но чашечку кофе потраченного на меня покрою)

Fike
01.09.2017
11:11:04
Нет, я делаю все это строго бесплатно

Magic
01.09.2017
11:11:58
да я тоже бесплатно помогаю всегда в чатиках по программированию, но с этой байдой я намучался что и не впадлу отблагодарить)

Страница 64 из 142