2000-01-06 07:41:55 +01:00
|
|
|
--
|
|
|
|
-- SELECT_DISTINCT
|
|
|
|
--
|
|
|
|
|
1997-04-06 10:29:57 +02:00
|
|
|
--
|
|
|
|
-- awk '{print $3;}' onek.data | sort -n | uniq
|
|
|
|
--
|
2008-08-05 17:17:59 +02:00
|
|
|
SELECT DISTINCT two FROM tmp ORDER BY 1;
|
1997-04-06 10:29:57 +02:00
|
|
|
|
|
|
|
--
|
|
|
|
-- awk '{print $5;}' onek.data | sort -n | uniq
|
|
|
|
--
|
2008-08-05 04:43:18 +02:00
|
|
|
SELECT DISTINCT ten FROM tmp ORDER BY 1;
|
1997-04-06 10:29:57 +02:00
|
|
|
|
|
|
|
--
|
|
|
|
-- awk '{print $16;}' onek.data | sort -d | uniq
|
|
|
|
--
|
2008-08-05 04:43:18 +02:00
|
|
|
SELECT DISTINCT string4 FROM tmp ORDER BY 1;
|
1997-04-06 10:29:57 +02:00
|
|
|
|
|
|
|
--
|
|
|
|
-- awk '{print $3,$16,$5;}' onek.data | sort -d | uniq |
|
|
|
|
-- sort +0n -1 +1d -2 +2n -3
|
|
|
|
--
|
|
|
|
SELECT DISTINCT two, string4, ten
|
1999-02-02 04:45:56 +01:00
|
|
|
FROM tmp
|
1997-04-06 10:29:57 +02:00
|
|
|
ORDER BY two using <, string4 using <, ten using <;
|
|
|
|
|
|
|
|
--
|
|
|
|
-- awk '{print $2;}' person.data |
|
|
|
|
-- awk '{if(NF!=1){print $2;}else{print;}}' - emp.data |
|
|
|
|
-- awk '{if(NF!=1){print $2;}else{print;}}' - student.data |
|
|
|
|
-- awk 'BEGIN{FS=" ";}{if(NF!=1){print $5;}else{print;}}' - stud_emp.data |
|
|
|
|
-- sort -n -r | uniq
|
|
|
|
--
|
|
|
|
SELECT DISTINCT p.age FROM person* p ORDER BY age using >;
|
|
|
|
|
2002-12-13 21:16:11 +01:00
|
|
|
--
|
|
|
|
-- Also, some tests of IS DISTINCT FROM, which doesn't quite deserve its
|
|
|
|
-- very own regression file.
|
|
|
|
--
|
|
|
|
|
|
|
|
CREATE TEMP TABLE disttable (f1 integer);
|
|
|
|
INSERT INTO DISTTABLE VALUES(1);
|
|
|
|
INSERT INTO DISTTABLE VALUES(2);
|
|
|
|
INSERT INTO DISTTABLE VALUES(3);
|
|
|
|
INSERT INTO DISTTABLE VALUES(NULL);
|
|
|
|
|
|
|
|
-- basic cases
|
|
|
|
SELECT f1, f1 IS DISTINCT FROM 2 as "not 2" FROM disttable;
|
|
|
|
SELECT f1, f1 IS DISTINCT FROM NULL as "not null" FROM disttable;
|
|
|
|
SELECT f1, f1 IS DISTINCT FROM f1 as "false" FROM disttable;
|
|
|
|
SELECT f1, f1 IS DISTINCT FROM f1+1 as "not null" FROM disttable;
|
|
|
|
|
|
|
|
-- check that optimizer constant-folds it properly
|
|
|
|
SELECT 1 IS DISTINCT FROM 2 as "yes";
|
|
|
|
SELECT 2 IS DISTINCT FROM 2 as "no";
|
|
|
|
SELECT 2 IS DISTINCT FROM null as "yes";
|
|
|
|
SELECT null IS DISTINCT FROM null as "no";
|
2005-12-11 11:54:28 +01:00
|
|
|
|
|
|
|
-- ANSI SQL 2003 form
|
|
|
|
SELECT 1 IS NOT DISTINCT FROM 2 as "no";
|
|
|
|
SELECT 2 IS NOT DISTINCT FROM 2 as "yes";
|
|
|
|
SELECT 2 IS NOT DISTINCT FROM null as "no";
|
|
|
|
SELECT null IS NOT DISTINCT FROM null as "yes";
|