sql >> Database teknologi >  >> RDS >> Mysql

MySQL Vælg id fra til og udelad begyndelses- og slut-id

Hvis du har en måde at garantere hændelsessekvensen på (og jeg simulerer her ved hjælp af et auto_increment-felt), så kan du finde det første og næste sekvensnummer og teste for dem

DROP table if exists t;
create table t
(sno int auto_increment primary key, id varchar(2),channel varchar(20));
insert into t (id,channel) values
('m2'  , 'AA-AA'),             
( '1'  , 'TT_1' ) ,            
( '2'  , 'TT_2' ) ,                    
( '11' , 'TT_3' ),                      
( '12' , 'TT_4' ),                     
( 'm4' , 'BB-BB'),                     
( 'm3' , 'CC-CC'),                     
( 'm5' , 'DD-DD'),                     
( '17' , 'FF-FF'),                     
( 'm1' , 'EE-EE');

select id 
from t
where sno > (select sno from t where id = 'm2') and sno < 
(select sno from t t1 where left(id,1) = 'm' and sno > (select sno from t where id = 'm2') limit 1);

+------+
| id   |
+------+
| 1    |
| 2    |
| 11   |
| 12   |
+------+
4 rows in set (0.00 sec)



  1. Sådan optimeres denne MySQL-tabel yderligere til en enkelt forespørgsel

  2. Kan flere tråde forårsage duplikerede opdateringer på begrænset sæt?

  3. Hvad er databasebrugerrettigheder?

  4. MySQL fjernforbindelse [ikke som normalt]