[英]Mysql query to retrieve record using between for two dates
我有一個要求,我很困惑如何編寫查詢。 我是這家公司的新手,所以請幫助我
用戶將選擇以下日期:
例:fromDate: 2013-08-02
toDate: 2013-09-03
(YYYY-MM-DD)
id resort_id room_id Date1 Date2 price
5 35 45 2013-11-01 2013-11-30 3000.00
6 35 50 2013-07-25 2013-08-25 2000.00
7 35 541 2013-07-25 2013-08-25 4000.00
8 35 541 2013-08-26 2013-09-26 4000.00
現在我應該根據房間ID獲得每個日期或價格總和的基於價格的結果
預期結果
id resort_id room_id Date1 Date2 price
6 35 50 2013-07-25 2013-08-25 2000.00
7 35 541 2013-07-25 2013-08-25 4000.00
8 35 541 2013-08-26 2013-09-26 4000.00
要么
id resort_id room_id price
6 35 50 2000.00
7 35 541 8000.00
SELECT * FROM lr_price_peak_rates WHERE `from_date`>='2014-04-08' AND `to_date`<='2014-04-30'
嘗試上面的查詢它可以正常工作
試試這個查詢
SELECT * FROM `rooms` WHERE "2013-08-02" between Date1 AND Date2 UNION
SELECT * FROM `rooms` WHERE "2013-09-03" BETWEEN Date1 AND Date2
它是一個單一的查詢。 將其分為兩行以便於閱讀。 我很確定這個查詢缺少一些東西。 我需要一個更大的測試集來驗證。 這不會選擇中間案例。 使用用戶選擇的日期更改第一個日期。
試試這個查詢
SELECT
id,
resort_id,
room_id,
Date1,
Date2,
SUM(price) AS Total_Price
FROM
MyTable
WHERE Date1> '2013-02-08' AND Date2 < '2013-02-09'
嘿試試這個(sql server)
SELECT room_id,SUM(price)FROM @table WHERE date1> ='07/25 / 2013'and date2 <='09/26/2013'GROUP BY room_id
select * from table_name where date1 > '08/02/2013' AND date2 < '09/02/2013' ORDER BY date1 ASC, price ASC
SELECT * FROM rooms
WHERE日期在Date1和Date2之間UNION SELECT * FROM rooms
WHERE date BETWEEN Date1 AND Date2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.