Как выбрать записи с базы где в полях значение 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 раз?
Дополнительно:
Ответы:
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; |
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...
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для выборки записей из базы данных, где значения в определенных полях не превышают определенного числа, можно использовать запрос SQL с условием WHERE. Для этого можно воспользоваться оператором сравнения '<=' (меньше или равно) и указать значение, которое не должно быть превышено.
Например, если у вас есть таблица 'users' с полем 'age', и вы хотите выбрать всех пользователей, у которых возраст не превышает 30 лет, запрос будет выглядеть следующим образом:
SELECT * FROM users WHERE age <= 30;
Если вы хотите выбрать записи, где значение равно нулю или меньше определенного числа, вы можете использовать такой же запрос, но добавить дополнительное условие с оператором 'OR':
SELECT * FROM users WHERE age = 0 OR age <= 30;
Таким образом, этот запрос вернет все записи, где значение поля 'age' равно нулю или не превышает 30.
Не забывайте заменить 'users', 'age' и '30' на ваши реальные названия таблицы, поля и значение, соответственно.