Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Relacja między 2 kolumnami

Możesz użyć sumy bieżącej w zapytaniu podrzędnym, aby pomóc w tym w wersjach wcześniejszych niż mysql 8.0

drop table if exists t;
create table t
(id int,A int,B int);
insert into t values
(1,  1 ,0),
(2,  0 ,1),
(3,  1 ,0),
(4,  1 ,0),
(5,  1 ,0),
(6,  1 ,1),
(7,  1 ,0),
(8,  1 ,1),
(9,  1 ,1),
(10, 1 ,0),
(11, 1 ,1),
(12, 1 ,0),
(13, 1 ,1),
(14, 1 ,1),
(15, 1 ,1),
(16, 0 ,1);

select t1.id,t1.a,t1.b
from 
(
select t.*,
        if(t.a = 1, @rt:[email protected]+1,@rt:=0) rt
from t
cross join (select @rt:=0) r
order by t.id
) t1 
where t1.rt >= 10;

+------+------+------+
| id   | a    | b    |
+------+------+------+
|   12 |    1 |    0 |
|   13 |    1 |    1 |
|   14 |    1 |    1 |
|   15 |    1 |    1 |
+------+------+------+
4 rows in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wykonywanie zdarzeń Mysql Czas rozpoczęcia

  2. Błąd Pythona i mySQLdb:OperationalError:(1054, nieznana kolumna w klauzuli where)

  3. Synchronizacja bazy danych klienta SQLite z bazą danych serwera MySQL

  4. wielokrotne WKŁADKI i zachowanie bezpieczeństwa przygotowanych oświadczeń PDO

  5. Wielokrotna wstawka MYSQL w kodeigniter