Size: a a a

2020 November 02

MC

Mikhail Coder in MySQL
Вот только к чему это?
источник

DE

Denis Efremov in MySQL
Мож в шакматы?
источник

DE

Denis Efremov in MySQL
А ты миграции то хоть пишешь?
источник

MC

Mikhail Coder in MySQL
Denis Efremov
А ты миграции то хоть пишешь?
Пишешь
источник

MC

Mikhail Coder in MySQL
Крч, обсудим остальное в след.раз. 👋
источник

С

Святослав in MySQL
Mikhail Coder
Согласно правил orm которую я использую на Фреймворке
это в каких правилах актив рекордс так написано? или ты в ларку еще какую то орм воткнул?
источник

DM

Dmitriy Mihaylenko in MySQL
Добрый вечер. Подскажите как выбрать совпадения uid > 1

SELECT u.uid, tt.ticketid as result FROM tickets_tickets tt
LEFT JOIN users AS u ON tt.useruid=u.uid
WHERE tt.categoryid IN (5, 13, 17)
AND tt.creationdate >= '2020-09-01 00:00:00'
AND tt.creationdate <= '2020-10-31 00:00:00'

В итоге получаю например:
uid     | ticketid
12345 | 12
54321 | 11
12345 | 22
53454 | 16


Вот надо выбрать только те где uid > 1 раза попадается - то есть выбрать только те uid, что повторяются более одного раза и подсчитать их к-во (уже сгрупированных)
источник

DM

Dmitriy Mihaylenko in MySQL
пофигу, то для примера, мне главное выбрать только те uid, что повторяются более одного раза и подсчитать их к-во (уже сгрупированных)
источник

DE

Denis Efremov in MySQL
Dmitriy Mihaylenko
Добрый вечер. Подскажите как выбрать совпадения uid > 1

SELECT u.uid, tt.ticketid as result FROM tickets_tickets tt
LEFT JOIN users AS u ON tt.useruid=u.uid
WHERE tt.categoryid IN (5, 13, 17)
AND tt.creationdate >= '2020-09-01 00:00:00'
AND tt.creationdate <= '2020-10-31 00:00:00'

В итоге получаю например:
uid     | ticketid
12345 | 12
54321 | 11
12345 | 22
53454 | 16


Вот надо выбрать только те где uid > 1 раза попадается - то есть выбрать только те uid, что повторяются более одного раза и подсчитать их к-во (уже сгрупированных)
SELECT
 u.uid,
 tt.ticketid AS result,
 count(tt.useruid) AS quantity
FROM tickets_tickets AS tt
LEFT JOIN users AS u
 ON tt.useruid = u.uid
GROUP BY u.uid
WHERE tt.categoryid IN (5, 13, 17)
 AND tt.creationdate >= '2020-09-01 00:00:00'
 AND tt.creationdate <= '2020-10-31 00:00:00'
 AND quantity > 1
источник

DE

Denis Efremov in MySQL
Ой, группу забыл
источник

ВС

Вячеслав Синельников... in MySQL
Select uid, count(a.uid),.. From table as a where date between... (Date1 and date2)group by uid. Ну и связь с другой таблицей через inner join если данные по uid дописываешь и указываеш в селект ...
источник

IZ

Ilia Zviagin in MySQL
Denis Efremov
Форенг ключи ВСЕГДА должны быть одинакового типа с первичным родительским
@coder1coder , и что, разные типы во внешних ключах тебе тоже ORM генерирует ?
источник

IZ

Ilia Zviagin in MySQL
Denis Efremov
Если с пыхой сравнивать, то быстрее в разы, особенно при конкурентных запросах
Это кстати не должно быть так, это видимо какие-то побочные эффекты подключения стека языка к web-серверу.
источник

VJ

Vladimir Juriev in MySQL
Dmitriy Mihaylenko
Добрый вечер. Подскажите как выбрать совпадения uid > 1

SELECT u.uid, tt.ticketid as result FROM tickets_tickets tt
LEFT JOIN users AS u ON tt.useruid=u.uid
WHERE tt.categoryid IN (5, 13, 17)
AND tt.creationdate >= '2020-09-01 00:00:00'
AND tt.creationdate <= '2020-10-31 00:00:00'

В итоге получаю например:
uid     | ticketid
12345 | 12
54321 | 11
12345 | 22
53454 | 16


Вот надо выбрать только те где uid > 1 раза попадается - то есть выбрать только те uid, что повторяются более одного раза и подсчитать их к-во (уже сгрупированных)
А ticketid вообще важен? А то в решениях сверху он рандомно возвращаться будет.

И если данные в таблицах консистентные, а ticketid не нужен, делай проще:
SELECT tt.userid
FROM tickets_tickets tt
WHERE <условия>
GROUP BY tt.userid
HAVING COUNT(DISTINCT tt.ticketid) > 1;
Нафиг лишний join. Distinct в group by тоже потенциально не нужен.
источник

IZ

Ilia Zviagin in MySQL
Dmitriy Mihaylenko
Добрый вечер. Подскажите как выбрать совпадения uid > 1

SELECT u.uid, tt.ticketid as result FROM tickets_tickets tt
LEFT JOIN users AS u ON tt.useruid=u.uid
WHERE tt.categoryid IN (5, 13, 17)
AND tt.creationdate >= '2020-09-01 00:00:00'
AND tt.creationdate <= '2020-10-31 00:00:00'

В итоге получаю например:
uid     | ticketid
12345 | 12
54321 | 11
12345 | 22
53454 | 16


Вот надо выбрать только те где uid > 1 раза попадается - то есть выбрать только те uid, что повторяются более одного раза и подсчитать их к-во (уже сгрупированных)
select * from FROM  users AS u
where (select count(*) from tickets_tickets tt where  tt.useruid=u.uid and tt.categoryid IN (5, 13, 17) AND tt.creationdate >= '2020-09-01 00:00:00'
AND tt.creationdate <= '2020-10-31 00:00:00') > 1
WHERE  ...
источник

MC

Mikhail Coder in MySQL
Denis Efremov
settings TEXT делай
И все же почему settings TEXT, а адрес MEDIUMTEXT?
источник

DE

Denis Efremov in MySQL
Mikhail Coder
И все же почему settings TEXT, а адрес MEDIUMTEXT?
По опыту чисто
источник

DE

Denis Efremov in MySQL
Ilia Zviagin
Это кстати не должно быть так, это видимо какие-то побочные эффекты подключения стека языка к web-серверу.
При конкурентных то запросах? Мне кажется должно быть, но хз
источник

DE

Denis Efremov in MySQL
Помните я лесенку скидывал водопада из браузера?
источник

IZ

Ilia Zviagin in MySQL
Denis Efremov
При конкурентных то запросах? Мне кажется должно быть, но хз
Нет технологического повода. Что то говно, что это. Ни одно не пахнет краше.
источник