Mysql 试图找到;顶部n“;但是在日期上有一些错误
比如说,我正试图从本月开始寻找一家商店销售的前10种冰淇淋口味。然而,我目前的查询只给出了7/01的前十种口味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、口味、日期、购买数量)使用下面的日期条件如何
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;