Maison > base de données > tutoriel mysql > Comment puis-je utiliser DISTINCT pour rechercher des combinaisons uniques de valeurs sur plusieurs colonnes dans SQL ?

Comment puis-je utiliser DISTINCT pour rechercher des combinaisons uniques de valeurs sur plusieurs colonnes dans SQL ?

Mary-Kate Olsen
Libérer: 2025-01-23 05:47:08
original
226 Les gens l'ont consulté

How Can I Use DISTINCT to Find Unique Combinations of Values Across Multiple Columns in SQL?

SQL : identification de combinaisons uniques sur plusieurs colonnes

Cet article aborde le défi consistant à trouver des combinaisons uniques de valeurs sur plusieurs colonnes dans SQL, en se concentrant spécifiquement sur la mise à jour des enregistrements de ventes marqués comme inactifs. L'objectif est d'identifier les ventes qui n'ont pas eu lieu le même jour au même prix et de mettre à jour leur statut en « ACTIF ». Une simple clause DISTINCT ne suffira pas car elle ne fonctionne que sur des colonnes uniques.

La clause GROUP BY offre une solution puissante :

SELECT a, b, c FROM t GROUP BY a, b, c;
Copier après la connexion

Cela regroupe les lignes en fonction des combinaisons uniques de colonnes a, b et c, obtenant ainsi le même résultat qu'une multi-colonne DISTINCT (bien que GROUP BY offre plus de fonctionnalités).

Pour mettre à jour les enregistrements de ventes, une requête imbriquée est efficace :

UPDATE sales
SET status = 'ACTIVE'
WHERE id IN (
    SELECT id
    FROM sales S
    INNER JOIN (
        SELECT saleprice, saledate
        FROM sales
        GROUP BY saleprice, saledate
        HAVING COUNT(*) = 1
    ) T ON S.saleprice = T.saleprice AND S.saledate = T.saledate
);
Copier après la connexion

Cette requête utilise une sous-requête pour identifier les ventes avec des combinaisons uniques saleprice et saledate (où COUNT(*) = 1). La requête externe met ensuite à jour le status de ces ventes sur « ACTIVE ».

En utilisant GROUP BY et des requêtes imbriquées, vous pouvez gérer et mettre à jour efficacement les données en fonction de combinaisons uniques de valeurs sur plusieurs colonnes. Cela fournit une méthode robuste et précise pour gérer des tâches complexes de manipulation de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal