我必须显示结果,选择多列,但只有一列不同我还使用了以下查询,并在下面的链接中进行了评论。
查询一个。
select category , offer_id, store_image from `tbl_coupan_offer` where
`offer_id` in (Select max(`offer_id`) FROM `tbl_coupan_offer` group by `category`)
以上查询返回包含重复
的所有记录我只希望显示不重复的不同类别
以下是图片
在图像上,您可以看到重复旅行和配件
第二次查询
SELECT DISTINCT `category`,`offer_id`,`store_image` FROM `tbl_coupan_offer`
我也审阅了这个链接Select all columns from rows distinct on one column
答案 0 :(得分:4)
从offer_id
select
SELECT DISTINCT category
FROM tbl_coupon_offer;
如果您想要一个offer_id
,请使用GROUP BY
:
SELECT category, MAX(offer_id)
FROM tbl_coupon_offer
GROUP BY category;
答案 1 :(得分:1)
就像戈登所说,但作为一个子查询来获得合适的形象。
SELECT DISTINCT q.category, ch_offer_id, store_img
FROM
(
SELECT category, MAX(offer_id) ch_offer_id
FROM tbl_coupan_offer
GROUP BY category
) q
JOIN tbl_coupan_offer
ON q.ch_offer_id=tbl_coupan_offer.offer_id
答案 2 :(得分:0)
SELECT category , MAX(`offer_id`) , store_image
FROM `tbl_coupan_offer`
GROUP BY `category`
如果有多个数据,那么只需在 SELECT
之后添加DISTINCT答案 3 :(得分:-1)
检查数据库引擎类型。这是" InnoDB"或不。如果您的数据库和表都存在,并且您发现此错误#1146表xxx不存在。然后阅读有关数据库引擎的更多信息。
如果一切正确,那么对Gordon的质询是正确的。
SELECT `category`, `offer_id`, `store_image`
FROM `tbl_coupon_offer`
GROUP BY `category`