Выберите диапазон в sql - PullRequest
0 голосов
/ 26 марта 2020

Мне нужно предложение, пока выбираются только строки, когда встречается определенный диапазон. Например, вот ниже набор данных:

id|count|name|status
_________________

1| 10 | xxx | 0

2| 20 | yyy | 0

3| 30 | zzz | 1

4| 40 | qqq | 0

5| 50 | ppp | 0

Я хочу выбрать только между 0 и 1 ожидаемым результатом;

id|count|name|status
_________________

1| 10 | xxx | 0

2| 20 | yyy | 0

3| 30 | zzz | 1

SQL: select * from test_db.table where status between 0 and 1

Но я получил полные данные при выполнении вышеуказанного запроса

Но я получил полные значения из этой таблицы. Пожалуйста, дайте мне какие-либо предложения, я застрял на этом.

Ответы [ 3 ]

1 голос
/ 26 марта 2020

Попробуй это:

SELECT * FROM test_db.table WHERE id <= ( SELECT MIN(id) AS id FROM test_db.table WHERE status = '1' );

У меня была похожая ситуация, некоторые бабочки go, я адаптировал ответ LSerni от здесь .

0 голосов
/ 26 марта 2020

Если вы хотите, чтобы строки между 1-м статусом = 0 и 1-м статусом = 1:

select * from test_db.table 
where id between
  (select min(id) from test_db.table where status = 0)
  and 
  (select min(id) from test_db.table where status = 1)
0 голосов
/ 26 марта 2020

Попробуйте

SELECT * from sample_table WHERE status>0 AND status<1;
...