2016-07-24 6 views
0

私はSQLite3データベースから情報を引き出すためにPHPを使用しています。PHP - Sqlite3とmin()関数を使用する

min()集計関数を使用して賢明なことをしようとするまで、すべての基本クエリは機能します。

これは、対話型のSQLite3の中で動作します:

PHPで
select distinct car, colour, min(time) from car_table group by car; 

しかし:

$db = new SQLite3('carDB.db'); 
$car_query= $db->query('select distinct car, colour, min(time) from car_table group by car'); 

while($row=$car_query->fetchArray()){ 
    echo "Car :" . $row["car"]; 
    echo "Colour :" . $row["colour"]; 
    echo "Time :" . $row["time"]; 
} 

これは、キーtimeは、配列を返すに存在するかどうかを確認しtimeをプリントアウトしていません負。

min(time)ではなく、クエリにtimeという単純な値を設定しても問題はありません。

別のPHPブロックでcount(*)を使用していますが、これはうまく動作します。これは、サポートされていない集計関数を排除しています。

答えて

2

エイリアスがないため、結果配列のキーはmin(time)になります。

あなたは鍵があなたがそうのようなクエリで列に別名をする必要がありますtimeになりたい場合は、次の

min(time) as time 
+0

パーフェクト、ありがとう! – thebigpeeler