mysql count выбранное поле

0

У меня есть запрос, который выбирает 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
Теги:

3 ответа

3
Лучший ответ

Вы можете выбрать 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 = ?
  • 0
    спасибо, Кенни, чтобы отобразить количество результатов, я изменил твой счет (*) на COUNT (reply_chunk_id) и использовал $ row2 ['COUNT (reply_chunk_id)']; показать это. Это правильный способ сделать это?
  • 1
    @ Scarface: все в порядке. Вы также можете дать ему имя, например, select count(reply_chunk_id) as the_count from ...
Показать ещё 1 комментарий
0
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)))
0

используйте LIMIT 1 OFFSET 9. Не уверен, что это встроено в MySQL.

  • 0
    Я хочу посчитать строки с тем же идентификатором, что и тот, который показан как n-й результат, я не уверен, что вы говорите, у меня уже выбран правильный n-й результат, я просто хочу посчитать идентификаторы как его собственный
  • 0
    Извините, я не правильно понял вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню