$query = "SELECT sum(DAILYTIME) FROM $mytable LIMIT 5";
該語句選擇和限定爲5行,但是如何根據某一行來做到這一點。例如,我想使用第10行作爲起點,並在該行之下5行(包括同一行的5行)。如何選擇總數限制到X號碼mysql
聲明如何將需要的,因爲如果我這樣做WHERE DAY = '$day' LIMIT 5
不會總結所有的5行,只是1
$query = "SELECT sum(DAILYTIME) FROM $mytable LIMIT 5";
該語句選擇和限定爲5行,但是如何根據某一行來做到這一點。例如,我想使用第10行作爲起點,並在該行之下5行(包括同一行的5行)。如何選擇總數限制到X號碼mysql
聲明如何將需要的,因爲如果我這樣做WHERE DAY = '$day' LIMIT 5
不會總結所有的5行,只是1
通過添加where子句與>=
運營商,也將選擇所有後續行。使用以下查詢:
$query = "SELECT sum(DAILYTIME) FROM $mytable WHERE DAY >= '$day' LIMIT 5";
我欠你一些啤酒人 – nonaxanon
我總是爲此打開;-) –
此查詢的LIMIT子句是多餘的。該查詢最多隻返回一行,並且LIMIT子句對聚合返回的值沒有任何影響。 (LIMIT'會產生影響的唯一方法是如果我們要指定'LIMIT 0'或'LIMIT m,n'(m> 0),所以沒有行被返回。) – spencer7593
這會給你第10到第14行「行」的總和;但是,由於沒有ORDER BY
,因此不能保證子查詢的結果行中的表的哪些行。
SELECT sum(DAILYTIME)
FROM (
SELECT DAILYTIME
FROM $mytable
LIMIT 9, 5
) AS `rows10to15`
;
嘗試在限制之前添加'GROUP BY DAILYTIME',應該可以工作。或者使用子查詢。 https://dev.mysql.com/doc/refman/5.0/en/subqueries.html –
LIMIT還可以處理額外的參數。 I.e .:'LIMIT 5,10' –
LIMIT與想要的無關;在這種情況下,它只會意味着你會根據你的GROUPING標準返回不超過5個總數,這(因爲沒有)只會導致一行開始。 – Uueerdo