2011-05-12 85 views
4

我有許多數據庫條目,每個都包含一個值。MySQL查詢和php編輯

我想說明有關這些值的一些統計數據,所以我應該能夠說:

  • 許多條目(行)如何有0和5之間的值,
  • 多少個條目(行)具有6和10之間的值,
  • 許多條目(行)如何具有11和20之間的值,
  • 多少個條目(行)具有值更然後20.

(以上給出的數值僅作爲示例)

比方說,我將有6-7個間隔,我想按值分組。我可以在單個MySQL查詢中執行此操作嗎?如果是的話,我怎樣才能使用 photoshop PHP後面的分組值?

謝謝!

編輯:
好像查詢實際上更難。我有2列(val1和val2)。我希望查詢統計有多少項具有VAL1/VAL2(VAL1 VAL2通過分)的間隔與...

+5

Photoshop?真? – 2011-05-12 19:07:16

+3

OMG,我想我應該休息一下...... :))我的意思是,php大聲笑。 – Cristy 2011-05-12 19:09:30

回答

3
SELECT 
    SUM(col BETWEEN 0 AND 5) AS 0_to_5, 
    SUM(col BETWEEN 6 AND 10) AS 6_to_10, 

等等,等等

回覆:您的編輯:

SELECT 
    SUM(val1/val2 BETWEEN 0 AND 5) AS 0_to_5, 
    SUM(val1/val2 BETWEEN 6 AND 10) AS 6_to_10, 
+3

+1從那裏抓取輸出值的截圖並將其粘貼到photoshop中僅需簡單的一步即可。 – webbiedave 2011-05-12 19:19:16

+0

謝謝,請看我的編輯... – Cristy 2011-05-12 19:28:26

+0

@Cristy:我知道。我在開玩笑:) – webbiedave 2011-05-12 19:32:18

3

如果你分裂計數成大小相同的範圍,你可以使用模運算符:

SELECT MOD(col, 5), COUNT(col) 
FROM ... 
WHERE ... 
GROUP BY MOD(col, 5) 

它可以將所有事件自動分組爲5種類別的事物,並處理無限範圍的類別。

如果範圍是不同的大小,那麼您將不得不生成一個大的case/if-then-else類型構造來分別檢查每個範圍。