MySQL - 选择字段值不唯一的所有行

标签 mysql

如何选择 MySQL 中特定字段值不唯一的所有行。例如我有以下数据:

---------------------------------------
| ID | Name   |         URL           |
---------------------------------------
| 1  | Store 1| http://www.store1.com |
| 2  | Store 2| http://www.store1.com |
| 3  | Store 3| http://www.store3.com |
| 4  | Store 4| http://www.store4.com |
| 5  | Store 5| http://www.store4.com |
---------------------------------------

在此,我想在 URL 字段重复的地方返回以下内容:

---------------------------------------
| ID | Name   |         URL           |
---------------------------------------
| 1  | Store 1| http://www.store1.com |
| 2  | Store 2| http://www.store1.com |
| 4  | Store 4| http://www.store4.com |
| 5  | Store 5| http://www.store4.com |
---------------------------------------

最佳答案

或者,老派...

SELECT DISTINCT x.* 
           FROM my_table x 
           JOIN my_table y 
             ON y.url = x.url 
            AND y.id <> x.id 
          ORDER 
             BY id;

关于MySQL - 选择字段值不唯一的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32459166/

相关文章:

mysql - 我需要在单个查询中合并三个 where 条件

php - 在所有浏览器打开的选项卡中更改页面标题

html - 将方程式和图像存储在数据库中以便稍后显示为 pdf 和 html 的最佳方式

MySQL IF 存在 INSERT else INSERT 过程

mysql:SELECT WHERE id IN() 等

mysql - 'i.email' 中的未知列 'where clause'

php - 如何将值插入到现有表的列中

php - 在 MySQL 数据库中保存口音

mysql - MySQL 中的 MAX 函数

php - 是否有开箱即用的 PHP 解决方案来对数据库字段进行修订控制?