我得到使用這樣的查詢數據:計算十分位數/從陣列昆泰使用PHP/MySQL的
SELECT `product_name`, `Number of Cases` FROM `myTable` where `color` = 'red' order by `Number of Cases` DESC";
我回來的數組這樣的,如果我var_dump
:
array(2) {
[0]=> array(4) { ["product_name"]=> string(5) "23418" [0]=> string(5) "23418" ["Number of Cases"]=> string(3) "434" [1]=> string(3) "434" }
[1]=> array(4) { ["product_name"]=> string(5) "79746" [0]=> string(5) "79746" ["Number of Cases"]=> string(3) "372" [1]=> string(3) "372" }
}
的上面是一個例子,但顯然,我在真正的表中有更多的行。
這裏就是我希望做......
獲取「件數」的所有值,並將其打入五分之一(5桶數目相等值的每一個「桶」)或十分位(每個「桶」中具有相同數量值的10個桶)。我需要爲每個五分位數或十分位數返回最高值(對於「個案數」)。
我看到的流動是這樣的:
- 順序從「件數」的值的
- 計數數(行)中的值返回
- 劃分成相等的「桶」(例如,如果有100行回來,我需要十分位數{10個等於桶},然後每個桶將有10行。
- 獲取/在每個桶返回最高值的值
我知道這些步驟,但我無法將它們轉化爲有效的PHP。
任何見解都會有所幫助。
謝謝。
瞭解的東西新的每一天! +1! – Darren
這給了我'seqnum'正確,但'tile_5'和'tile_10'爲每行0。 – jonmrich
我不明白這是怎麼發生的。'@ rn'應該是表中與條件匹配的行數。表達式'(seqnum - 1)* 5/@ rn'應該產生並且在0和小於5之間的值。然後'floor()'應該取其整數部分。 –