您好我不知道這是否曾被問過,但我想從一個ID和數字表中獲取值(數字範圍從1 - 190),給定的間隔爲20,10和5.從表中獲取值的間隔爲20,10,5
如果我設置間隔爲10,那麼我會得到像數值10,20,30,40 ... 190,如果我將它設置爲20然後我會得到像20,40,60等值。
我試過使用作爲循環,但是性能和速度方面並不十分有效。
我使用PHP來查詢Postgres中的數據。
這裏是我的示例代碼:
$interval = intval($_REQUEST['interval']);
$sql_last = 'SELECT MAX(elevation) AS elev FROM "Contour"';
$result_last = pg_prepare($conn, 'query_last', $sql_last);
$result_last = pg_execute($conn, 'query_last', array());
$row_last = pg_fetch_array($result_last, NULL, PGSQL_ASSOC);
$max_elev = $row_last['elev'];
for($x = $interval; $x < $max_elev; $x + $interval) {
$sql = 'SELECT id, elevation FROM "Contour" WHERE elevation = $1';
$result = pg_prepare($conn, $x, $sql);
$result = pg_execute($conn, $x, array($x));
}
謝謝戈登:)我有你的generate_series()函數,它的工作原理!但將其添加到我的查詢中,我得到一個錯誤,如列「c.elev」不存在。可能是我的Postgres版本(我使用Postgres v1.16.1)。我會試着看看是否有Postgres相當於它。 – Loupi
@Loupi。 。 。我認爲這應該是「提升」。 –
...哦,沒有看清楚:)謝謝 – Loupi