Re: trapny dotaz v SQL ;)

From: Hynek Lipa <hynek.lipa (zavinac)>
Date: 01. 03. 2005, 10:22 CET
Kamil wrote:
>>  Mám v MySQL tabulku se zaznamy o zakaznicich (prim key je asi 15
>>  mistny kod toho zakaznika) a potrebuju do ni pridat pole s poradovym
>>  cislem podle datumu zapisu (jedno z poli). Pridat pole umim, seradit
>>  podle data taky, ale jak to udelat, aby nejstarsi zaznam mel id 1 a
>>  nejnovejsi 100000?
> Ja bych to udelal tak, ze bych si napsal script co by si to
> seradil podle data a potom bych po jednom tupe pomoci UPDATE
> ty zaznamy zadaval.. V php prace na 5minut a při 100K
> záznamů, tak na 30s běhu scriptu.
> Ale jestli to chceš jedním dotazem, tak to se bude muset
> najít někdo znalejší..
-----------------------------------

jednim dotazem to nepujde, minimalne musi byt tri:
  1. SELECT - kde vyberes vsechny polozky (razeni 'ORDER BY datum ASC'),
     pak si v PHP/ASP/* vytvoris slozeny dotaz na INSERT, kde budou
     vsechny udaje i s temi id
  2. ve druhem vyprazdnis celou tabulku, tj. nezustane tam vubec nic
     (tusim TRUNCATE TABLE jmeno_tabulky)
  3. a ve tretim spustis ten pripraveny INSERT

a jako prvni si to samozrejme cele zazalohujes!

enjoy ;)

-- 

-h!-
http://www.hyneklipa.cz/
ICQ: 289612872
Received on Tue, 01 Mar 2005 10:22:25 +0100

This archive was generated by hypermail 2.1.8 : 01. 03. 2005, 10:21 CET