2015年9月6日 星期日

MySQL SUM with LIMIT records

當使用 SUM() 做加總函數時,MySQL是針對所有的WHERE 條件的,如果有 LIMIT 現制筆數時,他並不會只針對現制筆數部分做部分加總。

SELECT sum(quantity) 
FROM stock_card
LIMIT 0,2;
以上,這樣會得到所有記錄的總加總,而不是只有兩筆;

SELECT sum(quantity) 
FROM (SELECT quantity
      FROM stock_card
      LIMIT 0,2
) AS subquery;
以上,這樣就可以僅僅兩筆的加總。

沒有留言:

張貼留言

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。