我有一個表如下。通過範圍限制查詢組記錄
CREATE TABLE budgets(limit_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
upper_limit INT,
lower_limit INT);
在表中的值如下
INSERT INTO budgets(lower_limit, upper_limit)
VALUES(0, 15000),
(10200, 15300),
(15200, 17002),
(30000, 45050),
(17002, 30000),
(27002, 30500),
(30500, 35200),
(45200, 55000),
(55000, 65020),
(25000, 30000),
(40000, 60000),
(65000, 75000);
我用如下選擇查詢得到的值
SELECT 'Betw 0 to 25000', COUNT(limit_id)
FROM budgets
WHERE lower_limit>=0 AND upper_limit<=25000
UNION ALL
SELECT 'Betw 25000 to 50000', COUNT(limit_id)
FROM budgets
WHERE lower_limit>=25000 AND upper_limit<=50000
UNION ALL
SELECT 'Betw 50000 to 75000',COUNT(limit_id)
FROM budgets
WHERE lower_limit >=50000 AND upper_limit<=75000
我希望所有的行要根據責任限制範圍以上。
我在表中有12條記錄。
我希望所有記錄都屬於任何一個範圍類別。但通過運行查詢,我只能得到9行記錄在某些條件下。
輸出是
Between 0 to 25000 3
Between 25000 to 50000 4
Between 50000 to 75000 2
其餘3條記錄下不會任何的範圍下降。
幫助我知道我是否在數據庫設計犯了一個錯誤或我寫一個錯誤的查詢中 上述要求
的查詢工作正確。你想達到什麼?我認爲在查詢中存在邏輯錯誤。記錄(17002,30000),(45200,55000),(40000,60000)不在任何範圍內。 –
感謝您的回覆。是的,查詢工作。我想要在任何一個條件下對所有12條記錄進行統計。在輸出查詢中它只顯示9條記錄 – ArrayOutOfBound
請參閱上面的註釋,進行編輯。 –