首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sqlite中选择唯一记录

在sqlite中选择唯一记录
EN

Stack Overflow用户
提问于 2012-09-27 10:04:33
回答 1查看 5.2K关注 0票数 1

考虑一张表

结果(id,key,value),其中key是主键。

示例数据:

代码语言:javascript
复制
id | key      | value
-----------------------
abc| source-1 | 20
abc| source-2 | 30
abc| source-3 | 2 
abc| source-4 | 10
def| source-5 | 1 
ghi| source-6 | 25
jkl| source-5 | 13

我只想返回那些具有给定id的单个条目的记录。所以输出应该是

代码语言:javascript
复制
id | key      | value
------------------------
def| source-5 | 1
ghi| source-6 | 25
jkl| source-5 | 13

请给我建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-27 10:17:10

一种方法是使用GROUP BY,并且必须生成具有所需id的派生表,然后连接到该表:

代码语言:javascript
复制
select results.*
from results
join (
    select id
    from results
    group by id
    having count(*) = 1
) as dt on results.id = dt.id

如果您不喜欢派生表,也可以使用IN:

代码语言:javascript
复制
select *
from results
where id in (
    select id
    from results
    group by id
    having count(*) = 1
)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12613062

复制
相关文章

相似问题

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