Autor | Zpráva | ||
---|---|---|---|
matak Profil * |
#1 · Zasláno: 9. 4. 2006, 21:45:57
Potřeboval bych zjistit kolik je v tabulce řádků kde sloupec např. jméno začíná písmenem abecedy tedy chci takový výpis:
A B C ....... 4 1 0 asi tak, ale některá jména mohou mít duplicitní zápis, chci vědět kolik unikátních jmen začíná v tabulce na A, B, C atd.... Řešil jste někdo podobný problém? |
||
djlj Profil |
#2 · Zasláno: 9. 4. 2006, 21:59:43
SELECT COUNT(id) FROM tabulka WHERE sloupec LIKE 'A%'
|
||
matak Profil * |
#3 · Zasláno: 9. 4. 2006, 22:05:30
nj to j, ale ja bych nerad podkladal 32 dotazu pro kazde pismeno plus pro kazdé číslo to by docela zpomalilo
|
||
Peca Profil |
#4 · Zasláno: 9. 4. 2006, 23:50:28
select count(*), substring(sloupec,1,1) as lt from tabulka group by lt order by lt asc;
|
||
matak Profil * |
#5 · Zasláno: 9. 4. 2006, 23:56:54
hm nj ja vymyslel strasny silenosti napr.
SELECT abeceda, count(i.ID) FROM abeceda as a LEFT JOIN info as i ON a.abeceda regexp SUBSTRING(jmeno, 1, 1) GROUP BY abeceda; no ale vypada ze tohle funguje dobre, ale nebude to strasně pomaly?např. 10000 záznamů a co duplicitní jména nechci aby se započítavaly resp. Adam Arnošt Adéla jsou 3 ale Adam Arnošt Adéla Adam chci aby byly taky 3 |
||
matak Profil * |
#6 · Zasláno: 9. 4. 2006, 23:57:41
a co velikost písma dá se eliminovat?
a A chci aby bylo to samé |
||
matak Profil * |
#7 · Zasláno: 10. 4. 2006, 00:03:10
problém mi dělá velikost, písma a diakritika S, s, Š, š
|
||
Kajman_ Profil * |
#8 · Zasláno: 10. 4. 2006, 19:43:55
Bude to chtít nastavit správné porovnání. A asi group by na jméno v nějakém poddotazu, aby se vyhodily ty duplicity.
Osobně bych si tam dal sloupeček s prvním písmenem a indexem, dotazy na větších datech na tom pak budou časově asi mnohem lépe. |
||
matak Profil |
#9 · Zasláno: 11. 4. 2006, 00:23:19
to porovnání co se týče S, s, Š, š jak na to?
duplicity jsem vyresil takto, tedy tím DISTINCTEM: SELECT lower(substring(jmeno,1,1)) as abc, count(DISTINCT t1.ID) FROM t1 LEFT JOIN t2 ON t1.ID=t2.ID LEFT JOIN t3 ON t1.ID=t3.ID group by abc order by abc asc; ale ta fce lower se mi moc nelibi, nevim jak spomaluje pouziti techto fci, krom toho nereší to problém s diakritikou |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0