SQL - порядок по номерам строк? - PullRequest
2 голосов
/ 21 октября 2011

Итак, у меня есть таблица с 5 столбцами: id, user_id, news_id, comment and date.Каждый раз, когда пользователь публикует что-то в области комментариев к новостям, данные вставляются в эту таблицу.

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

Я хотел бы знать, как упорядочить результат из этой таблицы на основе того, сколько раз этот user_id присутствует в таблице.

Например:

1 - 134(user_id) -> 20 posts(that's how many times this user_id was found in the table.)
2 - 123 -> 19
3 - 168 -> 15

и т. Д.

Заранее спасибо.

Ответы [ 5 ]

5 голосов
/ 21 октября 2011
SELECT user_id, COUNT (*) as comments
FROM table
GROUP BY user_id
ORDER BY comments DESC
2 голосов
/ 21 октября 2011

TSQL

    select userID, count(*) 
    from userIDtable 
    group by userID 
    order by count(*) desc, userID asc
1 голос
/ 21 октября 2011

Я думаю, что вы путаете строки с колонками, но не берите в голову. Это легко сделать:

SELECT
   user_id,
   COUNT(*) posts
FROM
   comments
GROUP BY
   user_id
ORDER BY
   posts DESC
0 голосов
/ 21 октября 2011

"Итак, у меня есть таблица с 5 строками: id, user_id, news_id, комментарий и дата. Каждый раз, когда пользователь публикует что-то в области комментариев новостей, данные вставляются в эту таблицу." В этом ответе я буду предполагатьВы имели в виду 5 столбцов выше.

select user_id, count(*) num from tableName group by user_id order by num desc;
0 голосов
/ 21 октября 2011
SELECT count(user_id) C, user_id FROM RECORDS ORDER BY C LIMIT 5
...