产品表
_________________________________
|id |名称|类别|日期|
--------------------------------
|1 |p1 |1 |13586486|
--------------------------------
|2 |p2 |2 |13586445|
--------------------------------
|3 |p3 |1 |13567456|
--------------------------------
|5 |p5 |3 |13586422|
--------------------------------
|6 |p6 |3 |13586678|
--------------------------------
|7 |p7 |1 |13586495|
--------------------------------
不知何故,我的表格看起来如此,现在我的问题是如何选择每个类别的一个产品,该产品是该类别中的最新产品,这在单个查询中是否可能?
我尝试了很多东西,但太长了...请帮忙
最佳答案
也许是这样的(如果您想要按照最高日期):
SELECT
*
FROM
Product AS t1
JOIN
(
SELECT
MAX(t.date) AS date,
t.category
FROM
Product AS t
GROUP BY
t.category
)
AS maxCat
ON maxCat.date=t1.date
AND maxCat.category=t1.category
如果您想要最高的产品 ID,那么您可以这样做:
SELECT
*
FROM
Product AS t1
JOIN
(
SELECT
MAX(t.id) AS id,
t.category
FROM
Product AS t
GROUP BY
t.category
)
AS maxCat
on maxCat.id=t1.id
关于php - 如何从多次输入类别的表中选择每个类别的一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23670659/