| | |
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 23.12.10 Prihlásený: 10.09.22 Príspevky: 1056 Témy: 157 Bydlisko: KK/PP/BA | Napísal F3RY: 07.05.2014 17:09 | |
|
Zdravim. Potrebujem urobit jednoduchy select. Mam kniznicu (Library), v nej su zakaznici(Customers), ktory maju urcite pokuty za oneskorene vratenie knihy (Penalty). Select: 5 ľudia s najvyššími pokutami. Jeden vyber uz mam: Kód: select c2.first_name, c2.last_name from (select c.* from CUSTOMERS c where c.PENALTY IS NOT NULL order BY c.PENALTY DESC) c2 where rownum <= 5
No potrebujem este jeden, ktory vyberie to iste, len inym sposobom. Budem totizto robit testy. Riesenie mam: vybrat vsetko z tabulky, utriedit podla pokut, a LOOPom vyberiem prvych 5 zakaznikov. To riesenie sa mi vsak velmi nepozdava. Ma niekto lepsi napad?
_________________ HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia Lenovo IdeaPad Z50-70 Intel Core i5 4210 Haswell* NVIDIA GeForce GT 840M 4GB + Intel HD Graphics 4000*SSHD 1TB 5400 otáčok + 8GB cache*RAM 4GB* Full HD (1920 × 1080)*Windows 10 pro
Boh je reálny, pokial nebol deklarovaný ako integer |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 07.05.2014 17:23 | |
|
Kód: SELECT * FROM customers ORDER BY penalty DESC LIMIT 5
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 15.01.07 Prihlásený: 23.09.15 Príspevky: 186 Témy: 3 Bydlisko: ZV/BA | Napísal matwej: 08.05.2014 3:44 | |
|
LIMIT nejde na Oracle DBS, na to pozor, je to feature pre MySQL, PostGre atd. (ak teda nemas oracle, to co pisal BX je druhy sposob)
_________________ nb: Lenovo Thinkpad E520 (starsi pan uz), Fedora 20 / Win7 dualboot " 1000.times { puts "I will not spam on the boards" } " |
|
Registrovaný: 23.12.10 Prihlásený: 10.09.22 Príspevky: 1056 Témy: 157 Bydlisko: KK/PP/BA | Napísal autor témy F3RY: 08.05.2014 12:05 | |
|
No praveze to robim v ORACLE SQL developer...
_________________ HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia Lenovo IdeaPad Z50-70 Intel Core i5 4210 Haswell* NVIDIA GeForce GT 840M 4GB + Intel HD Graphics 4000*SSHD 1TB 5400 otáčok + 8GB cache*RAM 4GB* Full HD (1920 × 1080)*Windows 10 pro
Boh je reálny, pokial nebol deklarovaný ako integer |
|
Registrovaný: 15.01.07 Prihlásený: 23.09.15 Príspevky: 186 Témy: 3 Bydlisko: ZV/BA | Napísal matwej: 08.05.2014 13:37 | |
|
hmm, da sa pouzit este funkcia rank() myslim, od Oracle 9, priklad: Kód: SELECT ename, sal FROM ( SELECT ename, sal, RANK() OVER (ORDER BY sal) sal_rank FROM emp ) WHERE sal_rank <= 10;
cize to tvoje by som skusil Kód: SELECT c2.first_name, c2.last_name FROM (SELECT c.*, RANK() OVER (ORDER BY c.penalty) penalty_rank FROM customers c WHERE c.penalty IS NOT NULL) WHERE penalty_rank <= 5;
_________________ nb: Lenovo Thinkpad E520 (starsi pan uz), Fedora 20 / Win7 dualboot " 1000.times { puts "I will not spam on the boards" } " |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 08.05.2014 14:55 | |
|
Pripadne rovno ROW_NUMBER()
|
|
Registrovaný: 23.12.10 Prihlásený: 10.09.22 Príspevky: 1056 Témy: 157 Bydlisko: KK/PP/BA | Napísal autor témy F3RY: 08.05.2014 19:43 | |
|
Dakujem. Matwej: tvoje riesenie funguje, ale tu poslednu podmienku ignoruje, teda selectne viacej riadkov(v mojom pripade 7) Citácia: SELECT c2.first_name, c2.last_name FROM (SELECT c.*, RANK() OVER (ORDER BY c.penalty DESC) penalty_rank FROM customers c WHERE c.penalty IS NOT NULL) c2 WHERE penalty_rank <= 5;
Pre uplnost
_________________ HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia Lenovo IdeaPad Z50-70 Intel Core i5 4210 Haswell* NVIDIA GeForce GT 840M 4GB + Intel HD Graphics 4000*SSHD 1TB 5400 otáčok + 8GB cache*RAM 4GB* Full HD (1920 × 1080)*Windows 10 pro
Boh je reálny, pokial nebol deklarovaný ako integer |
|
Registrovaný: 15.01.07 Prihlásený: 23.09.15 Príspevky: 186 Témy: 3 Bydlisko: ZV/BA | Napísal matwej: 08.05.2014 22:21 | |
|
eee, myslim, ze to penalty_rank by malo byt c2.penalty_rank (chybicky no, ), skus ci to pojde
_________________ nb: Lenovo Thinkpad E520 (starsi pan uz), Fedora 20 / Win7 dualboot " 1000.times { puts "I will not spam on the boards" } " |
|
Registrovaný: 23.12.10 Prihlásený: 10.09.22 Príspevky: 1056 Témy: 157 Bydlisko: KK/PP/BA | Napísal autor témy F3RY: 12.05.2014 15:06 | |
|
Nefunguje to Cez row_number() nieco mam, len neviem, ako vyberiem 5 zaznamov: Kód: SELECT c.FIRST_NAME, c.LAST_NAME, c.PENALTY, ROW_NUMBER() OVER (ORDER BY c.PENALTY DESC) FROM CUSTOMERS c WHERE c.PENALTY IS NOT NULL;
_________________ HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia Lenovo IdeaPad Z50-70 Intel Core i5 4210 Haswell* NVIDIA GeForce GT 840M 4GB + Intel HD Graphics 4000*SSHD 1TB 5400 otáčok + 8GB cache*RAM 4GB* Full HD (1920 × 1080)*Windows 10 pro
Boh je reálny, pokial nebol deklarovaný ako integer |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 12.05.2014 16:34 | |
|
Vnoreny select? Kód: SELECT first_name, last_name, penalty FROM (SELECT c.FIRST_NAME, c.LAST_NAME, c.PENALTY, ROW_NUMBER() riadok OVER (ORDER BY c.PENALTY DESC) FROM CUSTOMERS c WHERE c.PENALTY IS NOT NULL) WHERE riadok <= 5;
|
|
Registrovaný: 23.12.10 Prihlásený: 10.09.22 Príspevky: 1056 Témy: 157 Bydlisko: KK/PP/BA | Napísal autor témy F3RY: 24.05.2014 20:04 | |
|
Dakujem za pomoc. Vypisuje to chybnu specifikaciu: Citácia: 30484. 00000 - "missing window specification for this function" *Cause: All window functions should be followed by window specification, like <function>(<argument list>) OVER (<window specification>) *Action:
Aj by som si to sam opravil, no netusim kde je chyba. // Vazne by som to potreboval. Uz som napisal 1300 riadkov v package(cursors, podmienky, cykly...) ale s tymto trivialnym reportom si neviem pomoct Do zajtra to musim odovzdat.
Posledné oživenie urobil F3RY dňa 24.05.2014 20:04
_________________ HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia Lenovo IdeaPad Z50-70 Intel Core i5 4210 Haswell* NVIDIA GeForce GT 840M 4GB + Intel HD Graphics 4000*SSHD 1TB 5400 otáčok + 8GB cache*RAM 4GB* Full HD (1920 × 1080)*Windows 10 pro
Boh je reálny, pokial nebol deklarovaný ako integer |
|
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| SQL INSERT INTO SELECT v Databázy | 1 | 467 | 18.10.2015 15:48 BX | | Sql Select,. velmi velka databaza,. v PHP, ASP | 9 | 581 | 02.12.2009 13:34 KViki | | formular: presun <option> zo <select> do <select> v JavaScript, VBScript, Ajax | 2 | 745 | 28.09.2009 15:27 tomast7 | | Jednoduchý RS v Redakčné systémy | 5 | 744 | 18.07.2016 11:04 hatto13 | | jednoduchy login v Ostatné | 7 | 587 | 05.09.2013 14:03 vama | | Jednoduchy Search v PHP, ASP | 6 | 749 | 10.05.2009 13:29 jtomcik | | Jednoduchý zoznam v HTML, XHTML, XML, CSS | 12 | 819 | 19.06.2010 13:20 shaggy | | Jednoduchý mobil v Mobilné zariadenia | 2 | 341 | 30.03.2013 22:16 Mego | | Jednoduchy PC v PC zostavy | 18 | 716 | 13.07.2016 7:29 Ivan-K | | Jednoduchy script v JavaScript, VBScript, Ajax | 10 | 851 | 18.12.2008 15:32 Draex | | jednoduchy UPDATE v Databázy | 11 | 676 | 20.05.2010 14:56 coldak | | Jednoduchý layout v HTML, XHTML, XML, CSS | 5 | 624 | 17.09.2012 9:32 iNviNho | | jednoduchy anitispam v PHP, ASP | 1 | 552 | 22.11.2009 7:51 stenley | | Jednoduchý CMS v Redakčné systémy | 1 | 1876 | 01.03.2008 18:57 Toxic | | Jednoduchý program assembler v Assembler, C, C++, Pascal, Java | 5 | 1427 | 27.11.2007 20:45 knorr | | Jednoduchý redakčný systém v Redakčné systémy | 2 | 383 | 17.06.2014 11:46 hatto13 |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|