Portál AbcLinuxu, 8. května 2025 04:41
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.