Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос на сортировку / 7 сообщений из 7, страница 1 из 1
09.11.2016, 00:40
    #39343948
robbit11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на сортировку
Имеются 4 столбца в каждом столбце числа от 10 до 100. Необходимо, чтобы при выполнении запроса отобразились только те строки, в которых значение 10 встречается не более 2-х раз.
Помогите пожалуйста.
...
Рейтинг: 0 / 0
09.11.2016, 07:56
    #39343985
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на сортировку
Код: sql
1.
WHERE (fld1=10)+(fld2=10)+(fld3=10)+(fld4=10) < 3|
...
Рейтинг: 0 / 0
09.11.2016, 12:12
    #39344104
robbit11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на сортировку
Не подходит.
При выполнении этого запроса отображаются все строки даже те, в которых значение 10 не встречается.
...
Рейтинг: 0 / 0
09.11.2016, 13:05
    #39344157
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на сортировку
robbit11даже те, в которых значение 10 не встречается.
Ты что написал?
robbit11в которых значение 10 встречается не более 2-х раз.
Ни одного, оно же ноль - это не более 2? да... что не нравится?

robbit11При выполнении этого запроса отображаются все строки
Не верю.
console.log
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
mysql> create table test (
    -> id serial,
    -> fld1 int,
    -> fld2 int,
    -> fld3 int,
    -> fld4 int
    -> );
Query OK, 0 rows affected (0.28 sec)

mysql> insert into test(fld1,fld2,fld3,fld4)
    -> select 1,1,1,1 union all
    -> select 10,1,1,1 union all
    -> select 10,10,1,1 union all
    -> select 10,10,10,1 union all
    -> select 10,10,10,10
    -> ;
Query OK, 5 rows affected (0.08 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> select * from test;
+----+------+------+------+------+
| id | fld1 | fld2 | fld3 | fld4 |
+----+------+------+------+------+
|  1 |    1 |    1 |    1 |    1 |
|  2 |   10 |    1 |    1 |    1 |
|  3 |   10 |   10 |    1 |    1 |
|  4 |   10 |   10 |   10 |    1 |
|  5 |   10 |   10 |   10 |   10 |
+----+------+------+------+------+
5 rows in set (0.00 sec)

mysql> select * from test
    -> WHERE (fld1=10)+(fld2=10)+(fld3=10)+(fld4=10) < 3
    -> ;
+----+------+------+------+------+
| id | fld1 | fld2 | fld3 | fld4 |
+----+------+------+------+------+
|  1 |    1 |    1 |    1 |    1 |
|  2 |   10 |    1 |    1 |    1 |
|  3 |   10 |   10 |    1 |    1 |
+----+------+------+------+------+
3 rows in set (0.07 sec)

mysql>


Распрями руки.
...
Рейтинг: 0 / 0
09.11.2016, 13:59
    #39344209
robbit11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на сортировку
Извиняюсь, я неправильно сформулировал задачу. Должны отобразиться строки в которых минимум одно, но не более двух значений равно 10.
...
Рейтинг: 0 / 0
09.11.2016, 15:02
    #39344263
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на сортировку
robbit11Должны отобразиться строки в которых минимум одно, но не более двух значений равно 10.Ну тогда не <3, а BETWEEN 1 AND 2.
...
Рейтинг: 0 / 0
09.11.2016, 15:03
    #39344264
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на сортировку
Ну или IN(1,2)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос на сортировку / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]