sql语句如何实现实现查询多列的数据?
如下图,我想根据productID分组或者唯一查询一条数据就行了,但是分组和唯一只能查出来productid这一列数据,有什么办法能实现查询多列数据呢?希望大家帮忙拉!...
如下图,我想根据productID分组或者唯一查询一条数据就行了,但是分组和唯一只能查出来productid这一列数据,有什么办法能实现查询多列数据呢?希望大家帮忙拉!
展开
4个回答
展开全部
从你的需求看,是前后矛盾的.
想根据productID分组 实现查询多列数据,而 实际上,后面的列内容并不相同,因此,肯定会出来多个数据.
如果想 唯一查询一条数据就行,而 多列的不同,谁也无法确定你要那个.
如果是 统计字段的多列数据,是可以的,分组时候,选择统计数据字段即可.
想根据productID分组 实现查询多列数据,而 实际上,后面的列内容并不相同,因此,肯定会出来多个数据.
如果想 唯一查询一条数据就行,而 多列的不同,谁也无法确定你要那个.
如果是 统计字段的多列数据,是可以的,分组时候,选择统计数据字段即可.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,我看Id列应该是唯一的吧。根据productID分组的时候,取max(id),然后通过此id关联,就可以把其他列数据也查询出来了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
WITH tablea AS(
SELECT 'a' a,'b' b,'c' c
UNION ALL
select 'a','b','c'
UNION ALL
select 'a','b','d'
UNION ALL
select 'a','c','d'
UNION ALL
select 'a','b','c'
),
tableb AS(
SELECT a,b,c FROM tablea GROUP BY a,b,c
)
SELECT * FROM tableb
先将A表group by 然后跟B,C表关联.
SELECT 'a' a,'b' b,'c' c
UNION ALL
select 'a','b','c'
UNION ALL
select 'a','b','d'
UNION ALL
select 'a','c','d'
UNION ALL
select 'a','b','c'
),
tableb AS(
SELECT a,b,c FROM tablea GROUP BY a,b,c
)
SELECT * FROM tableb
先将A表group by 然后跟B,C表关联.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from [table] where id in
(select max(id) from [table] group by productid)
(select max(id) from [table] group by productid)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |