首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在包含子句"order“、"desc”和“极限”的多列中使用distinct

如何在包含子句"order“、"desc”和“极限”的多列中使用distinct
EN

Stack Overflow用户
提问于 2012-10-05 21:43:22
回答 4查看 718关注 0票数 0
  • 我需要最新添加的三个具有attributeId和属性值的值,但对于both.my需求来说,distinct不适用于attributeValue,但使用最新添加的attributeId是不同的。下面是我的查询。有什么解决办法吗? 根据attributeValue DESC极限0,3从user_trans_service_selection顺序选择不同的uniqueId

下面是我的桌子

  • uniqueId - attributeId - attributeValue
  • 1-101-6700
  • 2- 102 -就业
  • 3- 103 -城市
  • 4- 101 - 8900
  • 5- 102 -就业
  • 6- 102-学生
  • 7- 103 -城镇
  • 8- 103 -村庄

我想要的结果如下:

  • attributeId - attributeValue
  • 101 - 8900
  • 102 -学生
  • 103 -村庄
EN

回答 4

Stack Overflow用户

发布于 2012-10-05 22:38:14

有点像戈登·林诺夫的答案。在sql server中,您不使用限制。

[法][法]

代码语言:javascript
复制
select utss.attributeid, utss.attributeValue
from user_trans_service_selection utss 
    inner join
     (select top 3 attributeid, max(uniqueid) as maxid
      from user_trans_service_selection
      group by attributeid
      order by max(uniqueid)
     ) attr
     on attr.maxid = utss.uniqueid
票数 4
EN

Stack Overflow用户

发布于 2012-10-05 21:47:33

您需要的是对每个属性具有最高id的行。您需要做一个连接才能得到以下内容:

代码语言:javascript
复制
select utss.attributeid, utss.attributeValue
from user_trans_service_selection utss join
     (select attributeid, max(uniqueid) as maxid
      from user_trans_service_selection
      group by attributeid
     ) attr
     on attr.maxid = utss.id
order by maxid desc
limit 0, 3
票数 2
EN

Stack Overflow用户

发布于 2012-10-05 22:39:46

//我们将按函数使用组

从column_name,aggregate_function( column_name )从table_name中按column_name选择column_name操作符值组

//按照以下V步骤{A、B和C}为每个attributeId查找最后添加的记录// {A}对每个attributeId查找最后添加的记录(例如,最高uniqueId)

按attributeId,max(uniqueId)从table_name组中按attributeId选择

// {B}我们将在最后查询的WHER-子句中嵌套这个结果,但首先我们必须去掉attributeId

选择uniqueId (按attributeId从table_name组中选择attributeId,max(uniqueId) )

// {C}现在我们可以创建最终的查询,并从表table_name中选择我们需要的内容。在这个查询的WHER-子句中,我们可以设置一个过滤器,只显示我们在{B}中找到的id所需的信息。

从uniqueId,attributeId,attributeValue中选择attributeId IN (从table_name组中选择attributeId (从attributeId选择attributeId,max(uniqueId)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12754448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档