Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 试图找到;顶部n“;但是在日期上有一些错误_Mysql - Fatal编程技术网

Mysql 试图找到;顶部n“;但是在日期上有一些错误

Mysql 试图找到;顶部n“;但是在日期上有一些错误,mysql,Mysql,比如说,我正试图从本月开始寻找一家商店销售的前10种冰淇淋口味。然而,我目前的查询只给出了7/01的前十种口味 select * from buy_history where date > '2012-07-01 00:00:00' group by flavor order by max(purchase_count) desc limit 10; (是的,很明显,每毫秒可以购买多个冰淇淋。) 这张桌子看起来有点像 购买历史记录(id、口味、日期、购买数量)使用下面的日期条件如何

比如说,我正试图从本月开始寻找一家商店销售的前10种冰淇淋口味。然而,我目前的查询只给出了7/01的前十种口味

select *
from buy_history
where date > '2012-07-01 00:00:00' 
group by flavor
order by max(purchase_count) desc 
limit 10;
(是的,很明显,每毫秒可以购买多个冰淇淋。)

这张桌子看起来有点像
购买历史记录(id、口味、日期、购买数量)

使用下面的日期条件如何

WHERE month(date)=3

只是看起来是这样。进行手动计数(或将其放入电子表格并进行计算和验证)

这里的问题是,您正在按某一列对结果进行分组(
groupbyflavor
),并且您的结果包含的其他列既不包含在
groupby
子句中,也不包含在聚合函数中。因此,MySQL不知道如何显示这些列(服务器选择显示哪一列)

您应该这样做(*大致):


不,是一样的。仅显示3月1日的数字。是否尝试按天或月合计的采购数量进行订购?
select flavor, sum(purchase_count) as purchase_count_total
from buy_history 
where date >= CONCAT(YEAR(CURDATE()), '-' MONTH(CURDATE()), '-1')
group by flavor 
order by sum(purchase_count) desc 
limit 10;
select flavor, sum(purchase_count) as total_sold
from buy_history
where date > '2012-07-01 00:00:00' 
group by flavor
order by total_sold desc 
limit 10;