SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.04.2011 14:37:34

eXXon
Участник
Зарегистрирован: 09.04.2011
Сообщений: 2

выборка всех записей с поле1 = 0 и по одному значению с поле1 > 0

имеется таблица такого вида

id    visible    field1      name

1    0        0        test1
2    1        10        test2
3    1        0        test3
4    0        0        test4
5    1        0        test5
6    1        10        test6
7    1        32        test7
8    1        32        test8
9    0        32        test8


нужно вывести записи с visible = 1 и field1 = 0, и по одному уникальному полю с visible = 1 и field1 > 0

тоесть вывод mySQL должен быть такой при ORDER BY id ASC


id    visible    field1      name

2    1        10        test2
3    1        0        test3
5    1        0        test5
7    1        32        test7

Неактивен

 

#2 09.04.2011 14:46:59

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: выборка всех записей с поле1 = 0 и по одному значению с поле1 > 0

SELECT * FROM tablename WHERE visible = 1 AND field1 = 0
UNION
SELECT * FROM tablename JOIN (SELECT min(id) AS id FROM tablename WHERE visible = 1 AND field1 > 0 GROUP BY field1) s USING (id)

Неактивен

 

#3 05.05.2011 01:21:26

eXXon
Участник
Зарегистрирован: 09.04.2011
Сообщений: 2

Re: выборка всех записей с поле1 = 0 и по одному значению с поле1 > 0

спасибо за ответ, совсем забыл про union

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson