Losowe pobieranie rekordow
karakuli - 15-02-2006 09:43
Losowe pobieranie rekordow
Witam! Jak najprościej pobrać z bazy danych losowo jeden rekord (używając sql)? --- pozdrawiam, karakuli
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Piotr 'piter' Hlawski - 15-02-2006 09:43
karakuli wrote:
> Witam! > Jak najprościej pobrać z bazy danych losowo jeden rekord (używając sql)?
SELECT * FROM tabela ORDER BY random() LIMIT 1;
-- ..:: Piter // phlawski$gmail,com // gg: 4534287 ::. Żaden kompas nie pokazuje gdzie jest północ. Wszystkie pokazują na miejsce, w którym akurat jest Chuck Norris.
szaman - 16-02-2006 10:05
Piotr 'piter' Hlawski napisał(a): > karakuli wrote: > >> Witam! >> Jak najprościej pobrać z bazy danych losowo jeden rekord (używając sql)? > > SELECT * FROM tabela ORDER BY random() LIMIT 1; > > Nie wiem o czym myślisz ale coś to chyba nie tak. Jak myśłisz co robi ORDER BY random() ? Co zwraca według Ciebie random() ? Proszę jednak pomyśl zanim odpowiesz.
Potem powiedz ile to Twoje zapytanie daje wariantów.
-- -- {67B14976-ABB4-4A3B-869B-84B5CCA1F569}
szaman - 16-02-2006 10:05
karakuli napisał(a): > Witam! > Jak najprościej pobrać z bazy danych losowo jeden rekord (używając sql)? > --- > pozdrawiam, > karakuli > > Nie można CI odpowiedzieć skoro nie podałeś bazy - przynajmniej dla mnie odpowiedź w takiej sytuacji nie jest oczywista i jednoznaczna a też nie mam zamiaru pisać wariantów na wszystkie bazy jakie znam.
-- -- {67B14976-ABB4-4A3B-869B-84B5CCA1F569}
krzysiek - 13-03-2006 11:23
Użytkownik "szaman" <e_tam@niepodammaila.eee> napisał w wiadomości news:dsvv9s$h2i$1@atlantis.news.tpi.pl... > karakuli napisał(a): > Nie można CI odpowiedzieć skoro nie podałeś bazy - przynajmniej dla mnie > odpowiedź w takiej sytuacji nie jest oczywista i jednoznaczna a też nie > mam zamiaru pisać wariantów na wszystkie bazy jakie znam.
MS SQL Server 2000
Grzesiek G. - 13-03-2006 11:23
krzysiek napisał(a): > Użytkownik "szaman" <e_tam@niepodammaila.eee> napisał w wiadomości > news:dsvv9s$h2i$1@atlantis.news.tpi.pl... > >>karakuli napisał(a): >>Nie można CI odpowiedzieć skoro nie podałeś bazy - przynajmniej dla mnie >>odpowiedź w takiej sytuacji nie jest oczywista i jednoznaczna a też nie >>mam zamiaru pisać wariantów na wszystkie bazy jakie znam. > > > MS SQL Server 2000
select top 1 * from tabela order by newid()
-- Grzegorz Gruza Odpowiadając usuń "spamerom_nie." z adresu!!!
Marcin Miga - 13-03-2006 11:23
krzysiek napisał(a): > Użytkownik "szaman" <e_tam@niepodammaila.eee> napisał w wiadomości > news:dsvv9s$h2i$1@atlantis.news.tpi.pl... >> karakuli napisał(a): >> Nie można CI odpowiedzieć skoro nie podałeś bazy - przynajmniej dla mnie >> odpowiedź w takiej sytuacji nie jest oczywista i jednoznaczna a też nie >> mam zamiaru pisać wariantów na wszystkie bazy jakie znam. > > MS SQL Server 2000 >
Wprawdzie nie widzę pierwszego postu, ale domyślam się, że chodzi o losowe pobieranie danych z tabeli na MS SQL 2000. Można to zrobić np. tak: SELECT * FROM tabela ORDER BY newid()
pozdrawiaMM
Piotr 'piter' Hlawski - 13-03-2006 11:23
szaman wrote:
> Piotr 'piter' Hlawski napisał(a): >> karakuli wrote: >> >>> Witam! >>> Jak najprościej pobrać z bazy danych losowo jeden rekord (używając sql)? >> >> SELECT * FROM tabela ORDER BY random() LIMIT 1; >> >> > Nie wiem o czym myślisz ale coś to chyba nie tak. > Jak myśłisz co robi ORDER BY random() ? > Co zwraca według Ciebie random() ? > Proszę jednak pomyśl zanim odpowiesz. > > Potem powiedz ile to Twoje zapytanie daje wariantów.
Zainstaluj Postgresa, przesortuj sobie po random() dowolną tablicę (bez LIMIT), przyjżyj się, a następnie wróć tutaj z wnioskami.
-- ..:: Piter // phlawski$gmail,com // gg: 4534287 ::. Matematycy przez jakiś czas mieli problem z równością 2 + 2 = 5 dopóki Chuck Norris nie przedstawił dowodu z półobrotu.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
Jak =?ISO-8859-2?Q?zamieni=E6_dwa_pola_jednej_kolumny_?==?ISO-8859-2?Q?w_dw=F3ch_rekordach_za_pomoc=B1_jednego_zapyt? ==?ISO-8859-2?Q?ania=3F?=
[mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?=
=?ISO-8859-2?Q?WY=B6wietlenie_rekord=F3w_pocz=B1wszy_od_?==?I SO-8859-2?Q?danej_litery=2E=2E=2E?=
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
[pgsql] Akcja w =?iso-8859-2?b?emFsZb9ub7ZjaQ==?= od liczby zmienionych =?iso-8859-1?q?rekord=F3w?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[mysql] Wyszukanie =?ISO-8859-2?Q?rekord=F3w=28powiazane_tabel?==?ISO-8859-2?Q?e=29?=
[MySQL]: Dodanie zliczania =?ISO-8859-2?Q?rekord=F3w_do_rozb?==?ISO-8859-2?Q?udowanego_zapytania?=
zanotowane.pldoc.pisz.plpdf.pisz.plnocnerozmowy.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|