2016-01-19 39 views
8

Aşağıdaki gibi bir mysql tablom var. Çilek ve çilek arasında kaç tane satır saymak istiyorum, benim durumumda bu iki meyve arasında 2 sıra var. Bunu nasıl başarabilirim?, iki satır arasında kaç satır sayılabileceğini mysql?

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

+0

Bize mysql sorgunuzu gösterir misiniz? – Marinus

+0

'id> (meyve = 'berry' olan meyvelerin kimliğini seçin) ve id <(meyve = 'çilek' dan meyve seçkisini seçin) '' –

+2

nerededir? Yerleştirme sırası? Mysql'in satırları eklendikleri sırayla iade edeceğine dair bir garanti yoktur. – Cfreak

cevap

4

bu sorguyu deneyin olan

$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

burada

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

bu- için sorgu benzer yazabilir, reference- SQL Between clause with strings columns

+0

cevabınız çok iyi. Merak ediyordum. masamı biraz değiştirdim, iki değer aynı. Kimlik 2 çilek ise, id 5 çilek mi? – conan

+2

FYI Bu, tablonun alfabetik sıralamasından kaynaklanan satır farkını verecektir. –

+0

Shijin, teşekkürler. Test edeceğim – conan