php - MySQL DISTINCT/GROUP BY 与 MAX()

标签 php mysql sql group-by distinct

问题:我正在尝试使用该名称的最高添加时间戳编号来提取所有记录的列表,DISTINCT 按名称。我在 PHP fetch 中使用所有结果列。

有一个简单的数据库,记录如下:

---ID-------NAME-------VERSION-----------ADDED-------
|  500   |  TheSame   |    1    |  UNIX_TIMESTAMP() |
|  501   |  TheSame   |    2    |  UNIX_TIMESTAMP() |           
|  502   |  SameName  |    30   |  UNIX_TIMESTAMP() |
|  503   |  SameName  |    31   |  UNIX_TIMESTAMP() |
-----------------------------------------------------

ID 是自动递增的。尝试了很多不同的方法,并且可以让 DISTINCTGROUP BY 正常工作,但我最终得到了最低的记录(例如:SameName 记录 #502 和版本 #30,而它应该是 #503 和版本 #31。

这里没有 JOIN 或任何发生的事情,所以这应该非常简单。

最佳答案

尝试一下(获取最新版本号的可能方法:

SELECT NAME, COUNT(*) AS VERSION
FROM TABLENAME
GROUP BY NAME

如果以上不满足要求,请尝试以下操作:

SELECT * FROM 
(
    SELECT 
        NAME, ID, VERSION, ADDED
    FROM 
        TABLENAME
    ORDER BY 
        NAME, VERSION DESC, ID, ADDED 
) myAlias
GROUP BY NAME

关于php - MySQL DISTINCT/GROUP BY 与 MAX(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35900398/

相关文章:

mysql - 为什么 MYSQL 较高的 LIMIT 偏移量会减慢查询速度?

php - 将数组从字段发送到 javascript,然后发送到 php

php - 查询时对相关模型的 Yii 限制

sql - 为什么SQL Server 2012默认创建单用户数据库?

php - 齿轮人和 PHP : Proper Way For a Worker to Send Back a Failure

php - 无法将 Laravel 和 Ajax 数据插入数据库

javascript - 如果在 php 和 javascript 的帮助下提交为空白,如何更改输入文本颜色?

mysql - 哪个 SQL 更好?在 MySQL 5.1 上

sql - 在T-SQL中,如何在子查询中引用表变量?

发布数据时需要php名称属性吗?