Autor | Zpráva | ||
---|---|---|---|
JardaB Profil |
#1 · Zasláno: 11. 7. 2013, 20:51:56
Zdravim, mozna hloupa otazka, ale hodil by se mi dotaz na vypis polozek dle sloupce jmeno, kdy jmena ve sloupci se mohou opkovat. Vysledek dotazu vsak nesmi tyto duplicity jiz obsahovat. Je takovy dotaz vubec mozny?
|
||
Tori Profil |
#2 · Zasláno: 11. 7. 2013, 20:54:24
SELECT DISTINCT jmeno FROM tabulka - zvýrazněné klíčové slovo odstraní duplicity z nalezených výsledků.
|
||
JardaB Profil |
#3 · Zasláno: 11. 7. 2013, 21:03:06 · Upravil/a: JardaB
Tori:
To je opravdu tak snadne? Tori: Jeste mozna zda lze dotaz rozsirit treba i na prijmeni, ktere je v jinem sloupci tak aby se vyloucila duplicita celeho jmena. Tedy vyhovi jan novak, petr novak, petr hanak atd.... |
||
JardaB Profil |
#4 · Zasláno: 12. 7. 2013, 08:42:31
Tak na to předchozí co jsem se ptal funguje tohle:
SELECT DISTINCT jmeno, prijmeni FROM tabulka jenže pokud chci dostat i hodnoty jiných sloupců, tak nevím jak ten zápis upravit. Potřebuji vypsat i další hodnoty jako id, popis atd. a ty do duplicity nezahrnovat, ale když uvedu SELECT DISTINCT jmeno, prijmeni, id, popis FROM tabulka tak je to logicky kravina. Potřebuji ty ostatní sloupce vyjmout z porovnávání duplicity. Uvedení před DISCINT nelze. |
||
juriad Profil |
#5 · Zasláno: 12. 7. 2013, 08:52:18
A které id se má zobrazit, když provedeš distinct podle jména? Náhodné, první?
Budu předpokládat, že id je primární klíč. Použij GROUP BY ve vnořeném selectu (ten pro každou existující dvojici jméno – příjmení vybere nejmenší existující id), vnější dotaz už jen doplní zbylé údaje podle id: SELECT tabulka.* FROM tabulka JOIN (SELECT Min(id) FROM tabulka GROUP BY jmeno, prijmeni) dist ON tabulka.id = dist.id |
||
JardaB Profil |
#6 · Zasláno: 12. 7. 2013, 09:03:42
Nyní jsem testoval tohle a funguje
SELECT jmeno, prijmeni, id FROM tabulka GROUP BY jmeno, prijmeni dle dokumentace je to ve většině případech ekvivalent právě SELECT DISTINCT jmeno, prijmeni FROM tabulka |
||
juriad Profil |
#7 · Zasláno: 12. 7. 2013, 09:06:05
JardaB:
To je účel. Oproti DISTINCTu navíc ale získáš id některého ze záznamů s daným jménem a příjmením. |
||
Časová prodleva: 11 let
|
0