2015-10-26 3 views
0

Я не уверен, как привести пример кода, поэтому я объясню это как можно лучше.ВЫБЕРИТЕ минимальное количество двух типов данных в MySQL?

У меня есть столбец таблицы, который дает идентификатор пользователя плюс сайты, которые у них есть. Каждый клиент может иметь несколько строк в таблице.

Возможно ли предоставить MySQL минимальное количество строк для получения определенного идентификатора, если у вас есть заданное количество строк в вашем запросе?

Итак, скажите, что вы выбираете 10 строк, вы можете сказать: «Дайте мне десять строк с минимальным количеством трех строк, принадлежащих пользователю 5, и если у пользователя 5 нет 3 строки, просто введите 10 из строк других пользователей ».

+0

вам, вероятно, потребуется как минимум два запроса. один, чтобы получить 3 <= x <10 для одного пользователя, выяснить, сколько вы получили, а затем получить 10-х от других пользователей. –

+0

Спасибо, что Marc – Shaun

ответ

1

Если меня не хватает чего-то здесь запрос основан на Marc B предложение:

SELECT * FROM 
    ((SELECT * FROM userWebSites WHERE userId = 5 LIMIT 10) 
    UNION 
    (SELECT * FROM userWebSites WHERE userId <> 5 LIMIT 10)) AS Merged 
LIMIT 10 

Однако он всегда будет возвращать одинаковые строки для других пользователей, чтобы заполнить недостающие строки.

+0

Спасибо Forgues. Просто сделав некоторый учет, я поиграю с вашим запросом позже сегодня. – Shaun

+0

Спасибо Forgues. Я добавляю некоторую логику, чтобы обрабатывать инкремент строк, чтобы он не всегда возвращал то же самое, но это в значительной степени охватывало то, что мне нужно! – Shaun

+0

Добро пожаловать! – ForguesR

Смежные вопросы