Portál AbcLinuxu, 13. prosince 2025 08:53
COUNT() a GROUP BY si ve vnořeném SELECTu spočítejte počty a ve vnějším SELECTu to pak podle toho počtu seřaďte. V některých databázích na to možná budou speciální analytické funkce.
select d1.id, max(d1.nazev) as nazev, (select oftenvalue from (select count(*) as counter,d2.dealer as oftenvalue from d as d2 where d2.id = d1.id group by d2.dealer order by counter limit 1) as foo) as dealer, sum(d1.sumas) as castka, ..... from d as d1 group by d.id
^--------------------------------------------------------------------------------------------------------------------------------------------------------------^
Relevantní část jsem vyznačil pomocí ^
select oftenvalue je tam zbytecny... protoze d2.delaer nemusi byt v selectu a pritom muze byt v group by
Select neco from
(Select
neco,
count(*) pocet
from tbl
group by neco) dta
order by pocet
limit 1;
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.