一、區間篩選
BETWEEN AND語句是Hive中常用的區間篩選語句,可以用來篩選出所有在指定區間內的數據。
SELECT column1, column2, ...
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
其中,column_name為要篩選的列名,value1和value2為這個區間的範圍。需要注意的是,在使用區間查詢時,兩個端點的數據也會被納入查詢結果。
我們可以使用BETWEEN AND語句來查詢一個表中所有的年齡在25到40之間的用戶:
SELECT *
FROM user_info
WHERE age BETWEEN 25 AND 40;
二、日期時間
BETWEEN AND語句同樣適用於時間和日期類型。我們可以使用它來篩選指定時間段內的數據。
我們先來創建一個包含了訂單日期和訂單金額的表。其中,訂單日期使用DATE類型,訂單金額使用FLOAT類型。
CREATE TABLE orders
(
order_date DATE,
order_amount FLOAT
);
然後我們向表中插入一些數據:
INSERT INTO orders VALUES ('2022-01-01', 100.00);
INSERT INTO orders VALUES ('2022-01-02', 120.00);
INSERT INTO orders VALUES ('2022-01-03', 80.00);
INSERT INTO orders VALUES ('2022-01-04', 150.00);
INSERT INTO orders VALUES ('2022-01-05', 200.00);
INSERT INTO orders VALUES ('2022-01-06', 300.00);
INSERT INTO orders VALUES ('2022-01-07', 250.00);
INSERT INTO orders VALUES ('2022-01-08', 180.00);
INSERT INTO orders VALUES ('2022-01-09', 130.00);
INSERT INTO orders VALUES ('2022-01-10', 90.00);
現在,我們可以使用BETWEEN AND語句來查詢2022年1月1日到1月5日之間的訂單總金額:
SELECT SUM(order_amount) AS total_amount
FROM orders
WHERE order_date BETWEEN '2022-01-01' AND '2022-01-05';
結果為620.00。
三、其他用法
BETWEEN AND語句還有一些其他用法。
例如,我們可以使用它來篩選一個表中某個字符列值在某個字符範圍內的數據。
我們創建一個表保存了一些英文單詞:
CREATE TABLE words
(
word VARCHAR(50)
);
然後向表中插入一些數據:
INSERT INTO words VALUES ('apple');
INSERT INTO words VALUES ('banana');
INSERT INTO words VALUES ('cat');
INSERT INTO words VALUES ('dog');
INSERT INTO words VALUES ('elephant');
INSERT INTO words VALUES ('fox');
INSERT INTO words VALUES ('grape');
使用BETWEEN AND語句查詢以b、c或d開頭的單詞:
SELECT word
FROM words
WHERE word BETWEEN 'b' AND 'd';
結果為:
banana
cat
dog
此外,BETWEEN AND語句還可以用在數值型和字符型數據類型中。
四、小結
Hive的BETWEEN AND語句是查詢數據時經常使用的一種方法。它可以針對不同類型的數據類型進行區間查詢,提高了查詢的效率,減少了手動篩選的工作量。
原創文章,作者:BSXYT,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/334414.html