2016-01-19 20 views
8

Ho una tabella mysql come sotto. Voglio contare quante file tra bacche e fragole, nel mio caso sono 2 file tra questi due frutti. Come posso ottenerlo?è possibile contare quante righe tra due righe mysql?

id fruit 
 
1  apple 
 
2  berry 
 
3  banana 
 
4  pineapple 
 
5  strawberry

+0

Puoi mostrarci la tua query mysql? – Marinus

+0

'seleziona il conteggio (id) da frutti dove id> (seleziona id da frutti dove fruit = 'berry') e id <(seleziona id da frutti dove fruit = 'strawberry')' –

+2

Ordinato da cosa? Ordine di inserzione? Non è garantito che mysql restituirà le righe nell'ordine in cui sono state inserite. – Cfreak

risposta

4

Prova questa ricerca,

$sql = "SELECT COUNT(*) as total_count FROM table_name JOIN (SELECT MAX(id) as 
    maxid,MIN(id) as minid FROM `table_name` WHERE fruit = 'berry' OR 
    fruit= 'strawberry') as temp ON table_name.id > temp.minid AND 
    table_name.id<temp.maxid"; 
1

è possibile scrivere query simile a questo-

$sql = select * from table where fruit between 'berry' and 'strawberry'; 
$result = mysql_query($sql); 
$rows = mysql_num_rows($result); 

Ecco l'Reference SQL Between clause with strings columns

+0

la tua risposta è molto buona. Mi stavo chiedendo. che ne dici di cambiare il mio tavolo un po 'che i due valori sono gli stessi. Cosa succede se id 2 è fragola, id 5 è fragola? – conan

+2

FYI Questo darà la differenza di riga risultante da un ordine alfabetico della tabella. –

+0

Shijin, grazie. Lo proverò – conan

Problemi correlati