Mysql3个字段,任何一个字段的值相同则为重复,语句应该怎么写?

WBOY
Libérer: 2016-07-06 13:54:01
original
792 Les gens l'ont consulté

mysql中3个字段,如果这3个字段中,任何一个字段有重复值,则为重复,应该怎么写?
比如
a b c
1 2 3
4 5 3
c字段重复了,那么这两条记录就算重复。

我试了这个语句:

<code>SELECT DISTINCT a,b,c FROM `table`</code>
Copier après la connexion
Copier après la connexion

结果不对,查出来的是3个字段都相同才排除
而我要的是3个字段中任意一个字段的值相同就排除

等于说实现的效果跟把这3个字段设置成唯一键值一样的导量,查询这3个字段的值都为唯一的结果

回复内容:

mysql中3个字段,如果这3个字段中,任何一个字段有重复值,则为重复,应该怎么写?
比如
a b c
1 2 3
4 5 3
c字段重复了,那么这两条记录就算重复。

我试了这个语句:

<code>SELECT DISTINCT a,b,c FROM `table`</code>
Copier après la connexion
Copier après la connexion

结果不对,查出来的是3个字段都相同才排除
而我要的是3个字段中任意一个字段的值相同就排除

等于说实现的效果跟把这3个字段设置成唯一键值一样的导量,查询这3个字段的值都为唯一的结果

但是你想查出什么呢…?比如1 2 3和1 4 3我应该留下哪个呢?这个查询的意义在哪里呢?

sql语句有点复杂:

<code>SELECT
    t1.a,
    t1.b,
    t1.c
FROM
    demo AS t1
WHERE
    t1.a NOT IN (
        SELECT
            a
        FROM
            demo
        WHERE
            t1.id != id
    )
AND
t1.a NOT IN (
        SELECT
            b
        FROM
            demo
        WHERE
            t1.id != id
    )
AND
t1.a NOT IN (
        SELECT
            c
        FROM
            demo
        WHERE
            t1.id != id
    )
AND
t1.b NOT IN (
        SELECT
            a
        FROM
            demo
        WHERE
            t1.id != id
    )
AND
t1.b NOT IN (
        SELECT
            b
        FROM
            demo
        WHERE
            t1.id != id
    )
AND
t1.b NOT IN (
        SELECT
            c
        FROM
            demo
        WHERE
            t1.id != id
    )
AND
t1.c NOT IN (
        SELECT
            a
        FROM
            demo
        WHERE
            t1.id != id
    )
AND
t1.c NOT IN (
        SELECT
            b
        FROM
            demo
        WHERE
            t1.id != id
    )
AND
t1.c NOT IN (
        SELECT
            c
        FROM
            demo
        WHERE
            t1.id != id
    )</code>
Copier après la connexion

<code>select distinct id 
from (
    select distinct a from table
        union
    select distinct b from table
        union 
    select distinct c from table
) as t</code>
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!