问题:我正在尝试使用该名称的最高添加时间戳编号,通过名称提取所有记录的列表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
是自动递增的。尝试过很多不同的事情,可以让DISTINCT
或GROUP BY
正常工作,但我最终得到的记录最低(例如:SameName
记录#502和版本#30,它应该是#503和版本#31。
没有JOIN
或此处发生的任何事情,所以这应该非常简单。
答案 0 :(得分:1)
尝试此尝试(获取最新版本号码的可能方法:
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