Ярослав Н.
13 сообщений
#15 лет назад
Привет народ, подскажите пожалуйста! Есть для примера у меня таблица из двумя полями name, type. Мне нужно извлекти из таблицы по 2 значения из поля type. Пример:
name, type
n1,1
n2,1
n3,2
n4,1,
n5,2,
n6,2.
Вот чтоб было по две записи из type. Результат:
n2,1
n4,1,
n5,2,
n6,2.

Ето ваще реально зделать на MySQL? А то что-то никакая уманя мисль в головку не прийдет :idea:
Андрей К.
1172 сообщения
#15 лет назад

$var=array();
$result=$db->query("SELECT * FROM table");
while(list($name,$type)=$db->fetch($result)) {
if(!isset($var) || count($var)<2)
$var=$name;
}


В итоге в $var у вас будет нужный массив. Но это уже не совсем mysql и лучше такие вещи не использовать, если в таблице много записей.
Ярослав Н.
13 сообщений
#15 лет назад
Спасибо! Думал в таком роде уже делать если никто не подскажет. Но теперь если вы еще так и считаете, тогда так и зделаю , к тому же таблица будет большая.
Андрей К.
1172 сообщения
#15 лет назад
Подождите, может кто лучше предложит метод. Этот - не самый красивый.
Ярослав Н.
13 сообщений
#15 лет назад
Хорошо! Мне не так уж спешно.
Артём К.
1157 сообщений
#15 лет назад
Цитата ("sbojchuk"):
Привет народ, подскажите пожалуйста! Есть для примера у меня таблица из двумя полями name, type. Мне нужно извлекти из таблицы по 2 значения из поля type. Пример:
name, type
n1,1
n2,1
n3,2
n4,1,
n5,2,
n6,2.
Вот чтоб было по две записи из type. Результат:
n2,1
n4,1,
n5,2,
n6,2.



Не понятно, по какому принципу отобрали записи в результат. Почему, к примеру, n1 и n3 в результат не попали?
Ярослав Н.
13 сообщений
#15 лет назад
Ой, забыл написать. Я с конца начинал отбирать. Но чтоб тока количество одинаковых записей из поля "type" было не больше 2-х.
Виктор Т.
1036 сообщений
#15 лет назад
SELECT * FROM tablename WHERE type=1 LIMIT 2 UNION SELECT * FROM tablename WHERE type=2 LIMIT 2

Решение конечно "в лоб", но зато на чистом SQL
Ярослав Н.
13 сообщений
#15 лет назад
Sivis, спасибо за отклик, но ето будет суто для примера что я навел. Но мне нужно универсал. Если для примеру будет 100 разных "type". Тогда вручну все писать, тем более автоматизации никакой не будет.

Да и что-то гугл не подскажыт.