我需要一个MySQL字符串的帮助,我每个月都可以使用它为我的在线预订系统生成一个表格月度报告,显示报告标题为“yyyy-mm-dd的总酒店预订,并且在酒店ID中顺序排列第一列(以1000,1001开始增加1),第二列中的酒店名称,第3列中的城市,第4列中的州,第5列中的电子邮件地址以及列中月份的预订总数6。
在我的MySQL数据库中,我有一个名为sales的表,它具有以下关键变量的数据库结构:
FIELDS TYPE Notes
hotelid VARCHAR(5) Property ID (these are all digits)
hotelname VARCHAR(35) Property name
booked DATE Date booked in yyyy-mm-dd format
ref VARCHAR(16) Booking reference (alphanumeric e.g. Booking12345)
numitems TINYINT(4) Number of items
itemno Item number
city VARCHAR(40)
state VARCHAR(40)
email VARCHAR(70)
我所拥有的字符串不适合我的要求如下:
“SELECT SUM(??), SUM(??) FROM sales WHERE arrdate>=’??’ AND depdate>=’??’ AND propid=??
“我们会替换??使用取决于我们想要检索的字段或数据。
请帮我一个字符串,我可以立即使用它。 谢谢。 VELOX
答案 0 :(得分:0)
您有几种选择:
WHERE columname BETWEEN '2014-07-04 00:00:00' AND NOW()
WHERE columname BETWEEN '".$yourNumericTimestamp."' AND '".time()."'
(php)我通常使用时间戳,因为它们让我不那么担心格式化。
请注意,如果您不确定$yourNumericTimestamp
是否为数字,则必须使用$db->real_escape_string($yourNumericTimestamp)
进行包装。
编辑:太匹配您的示例查询:
SELECT SUM(??), SUM(??) FROM sales WHERE arrdate BETWEEN ’??’ AND NOW() AND depdate BETWEEN ’??’ AND NOW() AND propid=??