我是mysql新手,请帮我解决这个问题。
我有一个包含以下列的表:

nr  |   date   |  hour  |  user  |  shop  |  brand  |  categ  | product | price | promo
183   02/03/14   17:06    cristi    186     brand1    categ 1    prod 1    299     no
184   02/03/14   17:06    cristi    186     brand2    categ 2    prod 2    399     yes
184   01/03/14   17:06    cristi    186     brand3    categ 3    prod 3    199     no

我使用的查询是
SELECT *
FROM evaluari
WHERE magazin = %s HAVING MAX(data)

其中“s”是商店ID(186)。
但这只返回包含2014年3月2日的第一行。如何显示包含相同最大日期的两行/所有行?

最佳答案

尽量不要用“日期”这样的保留词来命名colums,这可能会给你带来麻烦。
你可以这样做:

SELECT * FROM evaluari WHERE magazin = 186 AND date = (SELECT MAX(date) from evaluari WHERE magazin = 186)

10-04 17:54