motto13
@motto13
Вечно молодой

Как выбрать записи с базы где в полях значение 0 не больше n-ого числа?

mysql 5.7
Структура таблицы:
id, c1, c2, c3, c4, c5, c6, c7, sts
id - идентификатор
с1,... - поля tinyint, значения от 0 до 2
sts - статус, значения 0 или 1, активен и неактивен
пример записи
1, 1, 0, 0, 2, 1, 1, 1, 0
2, 1, 0, 0, 2, 1, 1, 1, 0
3, 0, 0, 0, 1, 1, 1, 1, 0
4, 0, 0, 0, 0, 1, 1, 1, 0
......
Как выбрать записи с базы где в полях С1,..С7 значение 0 не повторяется больше например 3 раз и значение 1 не повторяется больше 4 раз?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
iMedved2009
@iMedved2009
Не люблю людей
postgresql
SELECT 
	id
FROM t, jsonb_each_text(to_jsonb(t)) as x("key",val)
group by id
having 
count(*) filter(where val::int = 0) <=3 and 
count(*) filter(where val::int = 1) <=4;


https://sqlize.online/sql/psql14/06a28c679e03263b8...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы