Pomoc s SQL dotazem

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Zamčeno
Scientific
Level 3
Level 3
Příspěvky: 499
Registrován: 23 črc 2013 17:37

Pomoc s SQL dotazem

Příspěvek od Scientific »

Ahoj,

prosím o pomoc s SQL dotazem, který nedělá co potřebuji, resp. špatně řadí datum.
Případně mi poraďte nějaké programátorské fórum o kterém si myslíte, že by mi tam byly ochotni poradit.

Mám dotaz:

Kód: Vybrat vše

SELECT DATE_FORMAT(pristi_datum, '%d.%m.%Y') 
AS pristi_datum FROM terminy 
WHERE 1=1 
ORDER BY STR_TO_DATE(DATE_FORMAT(datum, '%d.%m.%Y'), '%d.%m.%Y') 
ASC
Ale výsledek je špatný:

Kód: Vybrat vše

 pristi_datum 	
06.05.2014
02.06.2016
17.02.2017
10.02.2018
11.03.2018
27.02.2015 // tento řádek má být téměř na začátku
18.02.2018 // tento řádek má být také o pár řádků výše
16.06.2018
11.08.2018
11.08.2018
11.08.2018
Děkuji moc za poskytnuté rady, které povedou k vyřešení mého problému.
popcorn
Level 3
Level 3
Příspěvky: 525
Registrován: 07 črc 2016 21:02

Re: Pomoc s SQL dotazem

Příspěvek od popcorn »

Čau, sice s SQL ti nepomůžu, ale mohu doporučit forum itnetwork.cz Tam ti určitě poradí :-)
CPU: i5-6500 GPU: Msi RX480 8GB RAM: Crucial 2x8GB MB: MSI B150 PSU: Seasonic S12II-520 CASE: Gladius M35
Uživatelský avatar
satik
Level 6
Level 6
Příspěvky: 3509
Registrován: 09 led 2015 12:49
Bydliště: Krkonoše
Kontaktovat uživatele:

Re: Pomoc s SQL dotazem

Příspěvek od satik »

Za Order by nech jen čistě datum, takhle to radis podle stringu, co z data vznikne a ve stringu se porovnávají postupně znaky, takže největší váhu má u tebe den.
PC: MSI RTX 4090 Suprim X, AMD Ryzen 9 7950x3D, ASUS Crosshair HERO X6670E, 64GB RAM@6000CL30, Fractal Define Torrent, Seasonic PRIME TX 1600W, SSD Seagate Firecuda 530 M2 2TB +
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index
petrmet
Level 3
Level 3
Příspěvky: 452
Registrován: 21 led 2015 19:40

Re: Pomoc s SQL dotazem

Příspěvek od petrmet »

Pokud je pole datum typu date, tak stačí
ORDER BY datum
Není potřeba to konvertovat na string.
K čemu je dobrá podmínka WHERE 1=1 ?
Scientific
Level 3
Level 3
Příspěvky: 499
Registrován: 23 črc 2013 17:37

Re: Pomoc s SQL dotazem

Příspěvek od Scientific »

Právě, že takhle datum nejvyšší váhu nemá, když se na to podíváš, tak to co říkáš neplatí, ale zkusil jsem to udělat jak radíš:

Kód: Vybrat vše

SELECT DATE_FORMAT(pristi_datum, '%d.%m.%Y') AS pristi_datum FROM terminy WHERE 1=1 ORDER BY pristi_datum ASC 
Výsledek je přesně to co si říkal ty (řazení probíhá podle dnů):

Kód: Vybrat vše

 pristi_datum Ascending 1 	
02.06.2016
06.05.2014
10.02.2018
11.08.2018
11.08.2018
11.08.2018
16.06.2018
17.02.2017
18.02.2018
27.02.2015
Dodatečně přidáno po 3 minutách 2 vteřinách:
Hotovo, už jsem našel kde jsem měl chybu, jsem to ale zmatkař....

Místo:
DATE_FORMAT(datum, '%d.%m.%Y'), '%d.%m.%Y')

Má být: DATE_FORMAT(pristi_datum, '%d.%m.%Y'), '%d.%m.%Y')

:-D ale děkuji za Vaše rady.
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Pomoc s webem
    od Tay » » v Web-tipy a vaše weby
    5 Odpovědi
    49229 Zobrazení
    Poslední příspěvek od Tay
  • Pomoc při taktu
    od ondyN » » v Taktování a další úpravy PC
    2 Odpovědi
    10238 Zobrazení
    Poslední příspěvek od Dyonysos
  • Pomoc s výběrem
    od belphegor666 » » v Rady s výběrem hw a sestavením PC
    14 Odpovědi
    12234 Zobrazení
    Poslední příspěvek od belphegor666
  • Pomoc s výběrem komponent
    od kurkisak » » v Rady s výběrem hw a sestavením PC
    2 Odpovědi
    4268 Zobrazení
    Poslední příspěvek od kurkisak
  • Pomoc s výběrem ntb na programování v .NET 25k
    od Kubasky » » v Rady s výběrem hw a sestavením PC
    1 Odpovědi
    3851 Zobrazení
    Poslední příspěvek od petr22

Zpět na „Programování a tvorba webu“