Это возвращает несколько строк:MAX() не возвращает NULL строки из LEFT JOIN
SELECT w.word_id, w.word_word, w.word_visits, w.word_created_unix, b.bid_per_visit
FROM keywords_words AS w
LEFT JOIN keywords_bids AS b
ON w.word_id = b.bid_word_id WHERE w.word_word LIKE 'an%'
ORDER BY w.word_visits DESC
LIMIT 10
Но это будет возвращать только строки, где есть предложение в keywords_bids:
SELECT w.word_id, w.word_word, w.word_visits, w.word_created_unix, MAX(b.bid_per_visit)
FROM keywords_words AS w
LEFT JOIN keywords_bids AS b
ON w.word_id = b.bid_word_id WHERE w.word_word LIKE 'an%'
ORDER BY w.word_visits DESC
LIMIT 10
Как я получаю его, чтобы вернуть MAX(b.bid_per_visit)
, если есть ставка, и ноль, если нет ставок.
Не исключая строки из оригинального LIKE-поиска в основном.
Ваш второй запрос вернет одну строку – Mihai
, что представляет собой объект назначения? –
@Mihai это то, чего я пытаюсь избежать. Я пытаюсь получить список максимальных ставок для разных ключевых слов из таблицы keywords_words. –