首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择*复制,然后选择*非复制- mysql

选择*复制,然后选择*非复制- mysql
EN

Stack Overflow用户
提问于 2012-10-27 23:29:30
回答 3查看 532关注 0票数 1

问题是关于示例表结构的:

mytable

代码语言:javascript
运行
复制
fielda, fieldb
val1    valx
val2    valy
val3    valz
val1    vala

我想用一个查询从mytable中选择:

代码语言:javascript
运行
复制
fielda, fieldb
val1    valx
val1    vala

基本上是从复制了fielda的表中选择*。

然后使用不同的查询从mytable中选择

代码语言:javascript
运行
复制
fielda, fieldb
val2    valy
val3    valz

fielda上的val1是重复的,因此它没有被选中,其余的都被选中了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-27 23:32:29

此查询对位于列表顶部的重复fieldA的表进行排序。

代码语言:javascript
运行
复制
SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT fieldA, COUNT(*) totalCount
            FROM tableName
            GROUP BY fieldA
        ) b ON a.fieldA = b.fieldA
ORDER BY b.totalCount DESC

此查询仅选择重复记录。

代码语言:javascript
运行
复制
SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT fieldA, COUNT(*) totalCount
            FROM tableName
            GROUP BY fieldA
        ) b ON a.fieldA = b.fieldA
WHERE b.totalCount > 1
ORDER BY b.totalCount DESC

这个查询选择的记录不在第二个查询中(上面)

代码语言:javascript
运行
复制
SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT fieldA, COUNT(*) totalCount
            FROM tableName
            GROUP BY fieldA
        ) b ON a.fieldA = b.fieldA
WHERE b.totalCount = 1
ORDER BY b.totalCount DESC

票数 3
EN

Stack Overflow用户

发布于 2012-10-27 23:31:34

代码语言:javascript
运行
复制
select fielda, fieldb from mytable group by fielda having count(*) >1

select fielda, fieldb from mytable group by fielda having count(*) =1
票数 2
EN

Stack Overflow用户

发布于 2012-10-27 23:32:04

对于第一个:

计数(*)>1的

SELECT * FROM tbl GROUP BY fielda

对于第二个:

从tbl中选择DISTINCT(fielda)

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

https://stackoverflow.com/questions/13101511

复制
相关文章

相似问题

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