clevel
Новичок
IN(1,2), только чтобы и 1 и 2
CREATE TABLE test (
a tinyint(4) NOT NULL default '0',
b tinyint(4) NOT NULL default '0',
KEY a (a,b)
) TYPE=MyISAM;
INSERT INTO test VALUES (1, 1);
INSERT INTO test VALUES (1, 1);
INSERT INTO test VALUES (1, 2);
INSERT INTO test VALUES (1, 3);
INSERT INTO test VALUES (1, 4);
INSERT INTO test VALUES (1, 5);
INSERT INTO test VALUES (2, 1);
INSERT INTO test VALUES (2, 2);
INSERT INTO test VALUES (2, 4);
INSERT INTO test VALUES (3, 1);
INSERT INTO test VALUES (3, 2);
INSERT INTO test VALUES (3, 3);
Надо: выбрать уникальные номера стобца а, где есть и, одновременно 1,2,3,4.
Запрос вида:select a,count(distinct b)
from test
where b IN(1,2,3,4)
group by 1
having 2=4
не дает результата, In выдает все страницы, где встречается хотя бы один из вариантов. А мне надо все.
Как лучше сделать запрос? Внимание! важдно то, что столбцы a,b не являются уникальным ключем, в а=1 есть два b=1.
CREATE TABLE test (
a tinyint(4) NOT NULL default '0',
b tinyint(4) NOT NULL default '0',
KEY a (a,b)
) TYPE=MyISAM;
INSERT INTO test VALUES (1, 1);
INSERT INTO test VALUES (1, 1);
INSERT INTO test VALUES (1, 2);
INSERT INTO test VALUES (1, 3);
INSERT INTO test VALUES (1, 4);
INSERT INTO test VALUES (1, 5);
INSERT INTO test VALUES (2, 1);
INSERT INTO test VALUES (2, 2);
INSERT INTO test VALUES (2, 4);
INSERT INTO test VALUES (3, 1);
INSERT INTO test VALUES (3, 2);
INSERT INTO test VALUES (3, 3);
Надо: выбрать уникальные номера стобца а, где есть и, одновременно 1,2,3,4.
Запрос вида:select a,count(distinct b)
from test
where b IN(1,2,3,4)
group by 1
having 2=4
не дает результата, In выдает все страницы, где встречается хотя бы один из вариантов. А мне надо все.
Как лучше сделать запрос? Внимание! важдно то, что столбцы a,b не являются уникальным ключем, в а=1 есть два b=1.