首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql选择distinct但限制distinct值

Mysql选择distinct但限制distinct值
EN

Stack Overflow用户
提问于 2011-07-15 08:26:40
回答 2查看 10.2K关注 0票数 3

这可能会令人困惑,但我想要做的是一个基本的select distinct列x限制3,问题是它返回3行,但我只想从一个不同的列中获取所有值。

代码语言:javascript
复制
id|columnx  
1 |here  
2 |here  
3 |Idontwant  
4 |Apple

所以我想要一个返回1和2的查询。问题是columnx可以是任何东西,我不能只说where columnx = 'here‘。

limit 3之所以起作用,是因为它被硬编码到我的C#应用程序中。问题是我还设置了一个基于columnx的哈希集,我必须让所有记录的columnx都是静态的。然而,对于我放在一起的每个查询,在我的限制下,我会在columnx中返回2个值,这是不同的值,但是,我每个查询只能有不同的columnx值。

不,我想要的是属于columnx的所有值,在本例中,columnx ='here',当我执行distinct时,我想要返回的是第一个distinct结果,而不是‘in want’或'apple‘,而不管限制是什么。

这是一个查询,它可以正常工作。

代码语言:javascript
复制
SELECT id,columnx
FROM sites where columnx= (select distinct columnx from sites limit 1) limit 3
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-15 08:43:24

这听起来像是您想要三个不同的列x值的id值。是这样的吗?试试这个:

代码语言:javascript
复制
SELECT id, columnx
FROM table AS t1
JOIN (
    SELECT DISTINCT(columnx) AS columnx
    LIMIT 1
) AS t2 ON (t1.columnx = t2.columnx);

我还想知道您是否需要一些ORDER BY,但是您的问题没有提到这一点,所以我省略了它--本质上意味着您将获得三个半随机的列x值。

票数 3
EN

Stack Overflow用户

发布于 2011-07-15 08:36:33

老实说,我也不知道您在问什么,但听起来您想返回在columnx中有重复值的那些行的in (将结果限制为3)。

代码语言:javascript
复制
SELECT id, columnx
FROM tablename
GROUP BY columnx
HAVING ( COUNT(columnx) > 1 )
LIMIT 3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6701491

复制
相关文章

相似问题

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