我有一个表,其中包含产品信息,其中包含具有相同标题的产品的多个实例,由不同颜色及其ID标识.我需要输出整个行,其中id =按标题分组的最大ID,但我似乎无法做到这一点.这是一个非常简化的表和一些示例数据:
id title colour description
1 rico red blah1
2 rico blue blah2
3 rico yellow blah3
4 katia black blah4
5 katia white blah5
Run Code Online (Sandbox Code Playgroud)
在我的代码的这个例子中,当我想要3个rico黄色blah3时,我得到1个rico red blah1.
这是我正在使用的代码:
SELECT pd_id, pd_title, pd_description, pd_colour,
pd_price,pd_large_image,pd_date,cat_sub_id_3,pd_new
FROM product
WHERE
cat_sub_id_1 = '".$cat_sub_id."'
AND cat_parent_id='".$cat_parent_id."'
GROUP BY pd_title
HAVING MAX(pd_id)
ORDER BY pd_id DESC
Run Code Online (Sandbox Code Playgroud)
更新:谢谢你们,
我使用alinoz的答案来提出以下代码,它有效:)
SELECT
pd_id,pd_title,pd_description,pd_colour,pd_price,pd_large_image,pd_date,cat_sub_id_3,pd_new
FROM product
HERE cat_sub_id_1 = '".$cat_sub_id."' AND cat_parent_id='".$cat_parent_id."'
AND pd_id IN (
SELECT max(pd_id)
FROM product
WHERE cat_sub_id_1 = '".$cat_sub_id."' AND cat_parent_id='".$cat_parent_id."'
GROUP …Run Code Online (Sandbox Code Playgroud)