a ramdom sort select
Posted in 2000
Topics: General Discussion
Hi Anyone know how make a select of many rows y random order, i e some like select * from mytable order by random Daniel Esquerre F Jefe de Soporte T'cnico Org. San Ignacio de Loyola
Daniel Esquerre Fernandez wrote:
Anyone know how make a select of many rows y random order, i e some
> like select * from mytable order by random
1. First,. upgrade to IDS.2000 (or IIF.20000, or whatever).
2. Get the Random Bladelet from the IIUG site. It's at:
http://www.iiug.org/software/index_ORDBMS.html
3. Once you install it, you will be able to do this kind of thing.
DROP TABLE Test_Stuff;--
CREATE TABLE Test_Stuff (
Id SERIAL PRIMARY KEY,
Val VARCHAR(64) NOT NULL,
When DATE NOT NULL
);--
-- Populate with a big wad-o-data.
--
INSERT INTO Test_Stuff
( Val, When )
SELECT A1.Val || '-' || A2.Val || '-' || A3.Val,
DATE('01-01-1901') + Rand(35000)
FROM TABLE(SET{'A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
}::SET( VARCHAR(2) NOT NULL ) ) A1 ( Val ),
TABLE(SET{'A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
}::SET( VARCHAR(2) NOT NULL ) ) A2 ( Val ),
TABLE(SET{'A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
}::SET( VARCHAR(2) NOT NULL ) ) A3 ( Val );--
-- Get rows from the database in random order
--
SELECT T.Val, T.When, Rand()
FROM Test_Stuff T
WHERE T.When BETWEEN DATE('01-01-1980') AND DATE('02-02-1980')
ORDER BY 3;--
SELECT T.Val, T.When, Rand()
FROM Test_Stuff T
WHERE T.When BETWEEN DATE('01-01-1980') AND DATE('02-02-1980')
ORDER BY 3;
Hope that helps!
KR
Pb