За последние 24 часа нас посетили 19233 программиста и 1643 робота. Сейчас ищут 936 программистов ...

Помогите составить запрос

Тема в разделе "MySQL", создана пользователем Likabort, 22 авг 2013.

  1. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Есть таблица, в которой есть поля: SEX(пол), AGE(возраст), EMAIL(по-моему и так ясно) и CAR(марка автомобиля). Нужно составить запрос, чтобы составились пары с одинаковой маркой автомобиля, разным полом и примерно одинаковым возрастом +-5 лет не более. Помогите пожалуйста, очень надо !
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Пары не составятся - их надо сделать самому
     
  3. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Можно подробнее ?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну ты можешь выбрать всех, у кого какая-то определенная марка, которую ты укажешь в запросе, и всех, у кого возраст плюс минус от того, который ты укажешь. Разбить их по полу уже по результатам выборки. И ты получишь туеву хучу комбинаций возможных пар.

    А менно оч много =)

    Например, если у тебя десять человек одного пола, и десять другого, то получишь ты сто разных пар. Если по двадцать - уже четыреста.
     
  5. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Если пара уже составлена, то с этими людьми пар больше составлять не надо
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ну тогда смело дели полученные квадраты на два.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а по какому правилу решать с кем пару составлять? =)
     
  8. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    А если для каждой марки автомобиля(их всего будет немного) сделать свою таблицу ?
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    да пофик. вот у тебя есть четыре мужика и три бабы. по какому правилу составлять? Это три пары, в любом случае ;)
    однако ж это девять комбинаций, 12 если брать "любой случай".
     
  10. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Чтобы разница в возрасте была наименьшая
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Окай, четыре мужика и три бабы, все ровесники и с одинаковой тачкой. Что дальше?
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ой нет это 12 комбинаций и 16 если брать любой случай.
     
  13. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Почему из 8-ми человек нельзя сделать 4 пары ?
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Сделай. Есть Вася, Петя, Серёжа и Алексей. И Ольга, Маша, Катя и Наташа. Сделай пары.
     
  15. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Вася-Ольга
    Петя-Маша
    Серёжа-Катя
    Алексей-Наташа
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А как же:
    Вася-Маша
    Петя-Катя
    Сережа-Наташа
    Алексей-Ольга
    ??
    И как же
    Вася-Катя
    Петя-Наташа
    Сережа-Ольга
    Алексей-Маша

    и тд. Поняли, в чем соль? Какая пара корректная? Первая попавшаяся? Возраст у всех один, машины одни.
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    т.е. вам плевать кто с кем составит пару? это назвается "случайным образом". Такое делается через распихивание в два массива, array_rand обоих, потом урезаете до длинны наименьшего, дальше проходите в цикле по любому из двух и составляете пары.

    если это не ясно - добро пожаловать во фриланс, или задавайте вопросы. =) с указанием того, как уже пробовали делать сами.
     
  18. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Если возраст и машины одинаковые, то первая попавшаяся пара и будет правильной
     
  19. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Сережа и Маша не согласны с тобой.
     
  20. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    С чем же они не согласны ?
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты понимаешь, что если есть два мужика(а,b) и две бабы(A,B), то это четыре разных пары может быть
    aA
    aB
    bA
    bB

    включай уже голову
     
  22. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    Это я понял, но мне надо 2 пары
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    да. это мы поняли. которые выбираешь из этих? aA или aB? и почему?
     
  24. Likabort

    Likabort Новичок

    С нами с:
    22 авг 2013
    Сообщения:
    13
    Симпатии:
    0
    аА, просто потому что их имена первые в списке
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тогда наверное у вас больше не осталось вопросов?