2011-06-29 84 views
0

內我有一個包含數字數據的表從0到100獲取記錄計數帶

我想編寫一個查詢,得到的記錄數在樂隊中的0至10,11至20。 .....和91到100

這可能嗎?

非常感謝您的幫助。

戴夫

+0

表中的字段是什麼? – TabbyCool

回答

2

假設你的表看起來像這樣...

CREATE TABLE `test1` (
    `ts` BIGINT(20) DEFAULT NULL 
) ENGINE=INNODB; 

...你可以有解決這個數學方法:

SELECT ROUND((T.ts-1)/10) AS "tt", 
     COUNT(*) 
FROM test1 AS T 
GROUP BY tt; 
+0

這是完美的,非常感謝! – Dave

0

子查詢會做的工作適合你

SELECT 
    (SELECT COUNT(brands) FROM data_table where brands BETWEEN 1 and 10) as '1-10', 
    ... 
    (SELECT COUNT(brands) FROM data_table where brands BETWEEN 90 and 100) as '90-100', 
+1

只有半路幹? – Reactormonk

0

從SELECT COUNT( SELECT * FROM(從表中選擇*其中val> = 'LOWERLIMIT')其中val < = 'UPPERLIMIT')

0

這應該給你的結果:

SELECT MIN(`id`) `id_from`, MAX(`id`) as `id_to`, COUNT(1) `count_id` 
FROM `session` 
GROUP BY (FLOOR(IF(id>0, id-1, id)/10)); 

請隨意根據您的模式更改表名和列名。

希望這會有所幫助。