Hi,

In the following sql query, I want to get all the lines which
satisfies that the first column appears less or equal to 2 times. Is
there a way to do it other than using inner join of the original table
and the query in main.sql?

$ cat main.sql
#!/usr/bin/env bash

#sqlite3 foods.db <<EOF

rm -rf main.db
sqlite3 main.db <<EOF

create table test (col1 text, col2 text);
insert into test values('a1', 'b1');
insert into test values('a1', 'b2');
insert into test values('a1', 'b3');
insert into test values('a1', 'b4');
insert into test values('a2', 'b5');
insert into test values('a2', 'b6');
insert into test values('a3', 'b8');

.mode column
.headers on
.echo on
select col1, col2 from test group by col1 having count(*) <= 2;

EOF

$ ./main.sql
select col1, col2 from test group by col1 having count(*) <= 2;
col1        col2
----------  ----------
a2          b6
a3          b8

-- 
Regards,
Peng
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to