2016-12-26 110 views
1

我有一個表格可以保存價格。這背後的想法是讓用戶建議他們認爲合理的價格。因此,例如,可以說我有一個表名tbl_Prices查找大多數行的範圍MYSQL

| id |price | 
|1 |1200 | 
|2 |50000 | 
|3 |50000 | 
|4 |45000 | 
|5 |506980| 
|6 |2000 | 

從表中我們可以看到,與大多數行範圍50000 to 506980。 所以我希望拿出一個查詢來找到這個範圍。我看了一下this answer。這是相當不錯的,但由於某些原因,我不能增加偏移,我可以勉強明白髮生了什麼,它產生:

|from_price|to_price|count| 
|499999 | 500003 |2 | 
|499998 | 500002 |2 | 
|499997 | 500001 |2 | 
|499996 | 500000 |2 | 
|500000 | 500004 |2 | 
|499996 | 450000 |1 | 
+1

請張貼文本數據,而不是圖片 – GurV

+0

我會留意下一次,我想這一定是整潔使用圖像 –

+0

請做,在這個問題 – GurV

回答

0

我必須弄明白的解決方案,找出全部按範圍定義見下文:

SELECT 
CASE WHEN accountid BETWEEN 0 AND 216 THEN '0 to 216' 
WHEN accountid BETWEEN 217 and 319 THEN '217 to 319' 
WHEN accountid BETWEEN 320 and 429 THEN '320 to 429' 
WHEN accountid BETWEEN 430 and 539 THEN '430 to 539' 
WHEN accountid BETWEEN 540 and 649 THEN '540 to 649' 
WHEN accountid BETWEEN 650 and 759 THEN '650 to 759' 
WHEN accountid >= 860 THEN '860 +' END AS accountgroup, count(accountid) AS total 
FROM account 
GROUP BY accountgroup; 

輸出爲如下:

enter image description here

希望這將有助於。謝謝。

+0

這很好,但問題是發現範圍 –

+0

在這種情況下,你有兩個寫2查詢...在第一個查詢嘗試找出範圍,並在第二個查詢使用我的解決方案構建一個案例查詢。我不認爲會有任何問題找到範圍。 – sAcH

+0

請嘗試從表中獲取最小值和最大值..並通過計算差值來設置間隔..所以您的範圍將看起來像min-interval,interval-max,並在第二個查詢中使用此範圍。好運。謝謝 – sAcH