Portál AbcLinuxu, 1. června 2024 16:16


Dotaz: Jde vytvorit takovy select?

20.6.2023 01:06 melkors | skóre: 13 | blog: kdo_chce_kam
Jde vytvorit takovy select?
Přečteno: 926×
Odpovědět | Admin
Mam tabulku deatilu objednavek - sloupce ID_OBJEDNAVKY a ID_ZBOZI (+dalsi momentalne nezajimave). V jedne objednavce pochopitelne muze byt polozek.

Ukol zni: Zjistit, jake dvojice (trojice, ctverice, ...) jsou nejcastejsi, s tim, ze dalsi byznys analyza se uz bude delat pro konkretni kombinace. Optimalni by bylo to provest jednim SQL query, aby se mohlo udelat prislusne view (programoem do docasne tabulky umim, ale je to neefetivni).

Jde to vubec? A pokud ano, pak jak?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.6.2023 11:21 kapo | skóre: 15 | blog: runtime
Rozbalit Rozbalit vše Re: Jde vytvorit takovy select?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nerozumim otazce. Dvojice/trojice/ctvreice ceho? Mas specifikovane 2 sloupce a chces ctverice? asi nerozumim.

Jinak na tyto pocetni srandy se pouziva group by a agregacni funkce, jako napr. count.
Why make things difficult, when it is possible to make them cryptic... - Aksel Peter Jorgensen
20.6.2023 14:33 melkors | skóre: 13 | blog: kdo_chce_kam
Rozbalit Rozbalit vše Re: Jde vytvorit takovy select?
Asi nejen otazce ...

Priklad: Objednavka 12345 ma polozky 1, 2, 3, 4 - takze 4 radky. Objednavka 12346 ma polozky 2, 4, 7 - takze 3 radky. Objednavka 12347 ma polozky 1, 3, 5, 7, 9 - takze 5 radek.

Select pro dvojice by mel vratit neco jako pol1 pol2 count 1 3 2 2 4 2

20.6.2023 15:44 X
Rozbalit Rozbalit vše Re: Jde vytvorit takovy select?
Select pro dvojice by mel vratit neco jako pol1 pol2 count 1 3 2 2 4 2
Co to je? Co je 132242 ??
20.6.2023 16:18 melkors | skóre: 13 | blog: kdo_chce_kam
Rozbalit Rozbalit vše Re: Jde vytvorit takovy select?
pol1pol2count
132
242
20.6.2023 18:49 X
Rozbalit Rozbalit vše Re: Jde vytvorit takovy select?
Jinymi slovy, checes spocitat vsechny objednavky, ktera obsahuji tebou definovane polozky ie. 1 a 3?
Řešení 1× (melkors (tazatel))
20.6.2023 19:11 tttttttttttttt
Rozbalit Rozbalit vše Re: Jde vytvorit takovy select?
SELECT 
  o1.id_zbozi, o2.id_zbozi, COUNT(o1.id_objednavky)
FROM 
  objednavky o1 
  JOIN objednavky o2 ON o1.id = o2.id AND o1.id_zbozi > o2.id_zbozi 
GROUP BY o1.id_zbozi, o2.id_zbozi 
ORDER BY COUNT(o1.id_objednavky) DESC
20.6.2023 22:21 melkors | skóre: 13 | blog: kdo_chce_kam
Rozbalit Rozbalit vše Re: Jde vytvorit takovy select?
Diky, po drobne uprave (5. radek) funguje.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.