Size: a a a

Sequelize - community (eng/ru)

2019 October 07

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Grigorii K. Shartsev
select count(*)
from states s
where exists(
 select id from cities c
 where c.state_id = state.id
)
Подзапросы не используют индексы, лучше их избегать
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
select count(*) from (
 select s.id, count(c.id) as cities_count
 from states s
 join cities c on c.state_id = state.id
 group by s.id
 having cities_count > 0
) as temp
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Grigorii K. Shartsev
select count(*) from (
 select s.id, count(c.id) as cities_count
 from states s
 join cities c on c.state_id = state.id
 group by s.id
 having cities_count > 0
) as temp
Можно в having count(c.id) > 0. И общий каунт взять из длины масива, или метод count
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Этож под орм будет делатся
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Yaroslav Zhymkov
Можно в having count(c.id) > 0. И общий каунт взять из длины масива, или метод count
Из селекта, убирем лишнее
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
 select s.id
 from states s
 join cities c on c.state_id = state.id
 group by s.id
 having count(c.id) > 0
источник

OK

Oleg Kudrenko in Sequelize - community (eng/ru)
Grigorii K. Shartsev
select count(*) from (
 select s.id, count(c.id) as cities_count
 from states s
 join cities c on c.state_id = state.id
 group by s.id
 having cities_count > 0
) as temp
так работает =)
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Grigorii K. Shartsev
 select s.id
 from states s
 join cities c on c.state_id = state.id
 group by s.id
 having count(c.id) > 0
Ага. Каунт по length. И айди можно сразу взять
источник

OK

Oleg Kudrenko in Sequelize - community (eng/ru)
Grigorii K. Shartsev
 select s.id
 from states s
 join cities c on c.state_id = state.id
 group by s.id
 having count(c.id) > 0
тут все ещё будет много записей в результате
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
Yaroslav Zhymkov
Можно в having count(c.id) > 0. И общий каунт взять из длины масива, или метод count
Ну просто чтобы не тащить все данные с БД, я бы просто count(*) взял)
пусть СУБД сама считает
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Grigorii K. Shartsev
Ну просто чтобы не тащить все данные с БД, я бы просто count(*) взял)
пусть СУБД сама считает
Если только количество, то ок, но если и айди то второй
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Оба рабочие
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Уже вопрос задачи
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
Oleg Kudrenko
тут все ещё будет много записей в результате
Да вроде не должно
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Grigorii K. Shartsev
Да вроде не должно
Да, все ок, тут по длине масива каунт надо брать
источник

OK

Oleg Kudrenko in Sequelize - community (eng/ru)
В любом случае большое спасибо за помощь!
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
Yaroslav Zhymkov
Да, все ок, тут по длине масива каунт надо брать
в sequelize же вроже был findAndCount или как-то так
источник
2019 October 10

OK

Oleg Kudrenko in Sequelize - community (eng/ru)
Подскажите плиз, есть в Sequelize что-то на подобии
START TRANSACTION;

--- ......

COMMIT;
источник

OK

Oleg Kudrenko in Sequelize - community (eng/ru)
?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Да
источник