使用其他列的组选择最大日期

Ste*_*ran 6 mysql group-by count

我有一张桌子:

gold_2012

gold_city | gold_type | gold_cost | gold_selltime
--------------------------------------------------
city1     | type 1    | 41.23     | 2012-01-01   
city1     | type 1    | 42.23     | 2012-02-02   
city1     | type 1    | 40.23     | 2012-03-03   
city2     | type 2    | 43.23     | 2012-01-01   
city2     | type 2    | 45.23     | 2012-02-02   
city2     | type 2    | 47.23     | 2012-03-03   
city3     | type 3    | 48.23     | 2012-01-01   
city3     | type 3    | 49.23     | 2012-02-02   
city3     | type 3    | 44.23     | 2012-03-03   
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到由1个最后的结果顺序gold_selltime降序各组gold_citygold_type.

我用过这个:

SELECT * , COUNT( * ) 
FROM  gold_2012
GROUP BY  gold_type ,  gold_city
ORDER BY gold_selltime DESC
Run Code Online (Sandbox Code Playgroud)

但它不起作用.
我的结果如下:

gold_city | gold_type | gold_cost | gold_selltime
--------------------------------------------------
city1     | type 1    | 41.23     | 2012-01-01   
city2     | type 2    | 43.23     | 2012-01-01   
city3     | type 3    | 48.23     | 2012-01-01   
Run Code Online (Sandbox Code Playgroud)

但我需要它像:

gold_city | gold_type | gold_cost | gold_selltime
--------------------------------------------------
city1     | type 1    | 40.23     | 2012-03-03   
city2     | type 2    | 47.23     | 2012-03-03   
city3     | type 3    | 44.23     | 2012-03-03   
Run Code Online (Sandbox Code Playgroud)

抱歉! 我忘记了!请参阅上面我编辑过的问题.

him*_*056 12

您可以使用以下MAX功能:

SELECT gold_city, gold_type 
       , MAX(gold_selltime) AS gold_selltime, COUNT( * ) AS `COUNT`
FROM gold_2012 
GROUP BY gold_type , gold_city 
ORDER BY gold_selltime DESC
Run Code Online (Sandbox Code Playgroud)

看到这个SQLFiddle

注意:您可以使用以下DATE_FORMAT函数转换日期:

DATE_FORMAT(MAX(gold_selltime), '%Y-%m-%d') AS gold_selltime
Run Code Online (Sandbox Code Playgroud)

看到这个SQLFiddle

UPDATE

由于OP改变了他/她的要求,请看这个更新的答案:

您可以使用以下查询来实现:

SELECT *
FROM gold_2012
WHERE gold_selltime IN
(
    SELECT MAX(gold_selltime) AS gold_selltime
    FROM gold_2012  
)
Run Code Online (Sandbox Code Playgroud)

看到这个SQLFiddle