У меня есть запрос, который выбирает n-ый результат (в этом случае 10-й). Я просто хочу использовать reply_chunk_id этого n-го результата и подсчитать другие, как он, чтобы увидеть, сколько всего есть с одним и тем же идентификатором. Кто-нибудь знает, как это сделать в одном запросе?
SELECT reply_chunk_id,message
FROM (
SELECT *
FROM messages
ORDER BY timestamp ASC
LIMIT 10
) AS tbl WHERE topic_id=?
ORDER BY timestamp DESC
LIMIT 1
Вы можете выбрать 10-ю строку на
SELECT reply_chunk_id FROM messages ORDER BY timestamp ASC LIMIT 9,1
так
SELECT COUNT(*) FROM messages
WHERE reply_chunk_id = (SELECT reply_chunk_id FROM messages
ORDER BY timestamp ASC LIMIT 9,1)
AND topic_id = ?
SELECT COUNT(1)
FROM messages
WHERE reply_chunk_id =
(SELECT MIN(reply_chunk_id)
FROM messages
WHERE timestamp =
(SELECT MAX(timestamp)
FROM (SELECT timestamp
FROM messages
ORDER BY timestamp ASC
LIMIT 10)))
используйте LIMIT 1 OFFSET 9. Не уверен, что это встроено в MySQL.
select count(reply_chunk_id) as the_count from ...