我有以下数据表
"id","date_occurred","country","town","quantity"
"1","2012-06-01","England","Andover","82"
"2","2012-06-01","England","Colchester","569"
"3","2012-06-01","England","Farnham","1"
"4","2012-06-01","England","England","4"
"5","2012-06-01","England","America","13"
"6","2012-06-01","America","England","114"
"7","2012-06-02","England","Andover","4"
"8","2012-06-02","England","Colchester","207"
"9","2012-06-02","America","England","14"
"10","2012-06-03","England","Andover","3"
"11","2012-06-03","England","Colchester","72"
"12","2012-06-03","England","America","1"
"13","2012-06-03","America","England","15"
"14","2012-07-04","England","Andover","1"
"15","2012-07-04","England","Colchester","309"
"16","2012-07-04","England","America","4"
"17","2012-07-04","America","England","11"
"18","2012-08-05","England","Andover","2"
"19","2012-08-05","England","Colchester","319"
"20","2012-08-05","England","Farnham","1"
"21","2012-08-05","England","America","4"
"22","2012-08-05","America","England","25"
"23","2012-08-06","England","Andover","93"
"24","2013-06-06","England","Colchester","542"
"25","2013-06-06","England","Farnham","1"
"26","2013-06-06","England","England","4"
"27","2013-06-06","England","America","7"
"28","2013-06-06","America","England","115"
当我运行下面的独立查询时,我会生成我需要的结果。
给定月份查询的每个国家/地区的每日总销售额:
SELECT date_occurred, country, SUM(quantity)
FROM tableA
WHERE YEAR(date_occurred) = 2013 AND MONTH(date_occurred) = 6
GROUP BY date_occurred, country
特定月份每个国家/地区的每日总销售额
2012-06-01 England 669
2012-06-01 America 114
2012-06-02 England 211
我创建了一个ajax下拉列表,用三个选择框查询数据库
的问题
我的Ajax脚本产生3个变量
$ date_o
$国家
$ town
通过$ _POST
如何单独使用变量来创建上述查询?
我尝试了什么
下面的查询使用$ country变量并且有效。
SELECT date_occurred, country, SUM(quantity) AS quantity
FROM TableA
WHERE YEAR(date_occurred) =2013
AND MONTH(date_occurred) = 6 AND country ='$country'
GROUP BY date_occurred , country = '$country'
但是我尝试了许多排列只使用$ _POSTED值来生成查询 但都没有成功。
**所需的出现如下。 **
SELECT $date_o, $country, SUM(quantity) AS quantity
FROM TableA
WHERE YEAR($date_o) = year_part_of_$date_o
AND MONTH($date_o) = month_part_of_$date_o AND country ='$country'
GROUP BY $date_o , country = '$country'
我认为我需要从$ date_o变量中删除月份和年份,但不能解决它。 欢迎任何简单的答案或建议!提前谢谢。
答案 0 :(得分:0)
$year = substr($date_o, 0, 4);
$month = substr($date_o, 5, 2);
如果您在一个月内不需要前导零,那么
$month = ltrim(substr($date_o, 5, 2), '0');
答案 1 :(得分:0)
您可以尝试
$year = date('Y',strtotime($date_o));
$month = date('n',strtotime($date_o));
这可以给出输出为2013,6(不是06:如果你需要06'm'代替'n')