2011-12-15 2 views
1
ID fileName userName 
1 abc1  Emre 
2 abc2  Abc 
3 abc2  John 
4 abc1  Rick 
5 abc1  Rick 

экрана: Mysql; Данные Всего печати


Лучшие загруженных файлов: 1) abc1 2) abc2

Я хочу, чтобы показать самые загруженные файлы. Как я могу выполнить запрос mysql?

(Жалко Eng)

ответ

2

Получить агрегат COUNT() сгруппированы по fileName. Сортировка в порядке убывания по количеству загрузок и ограничение по количеству результатов, которые вы хотите вернуть (при необходимости).

SELECT 
    fileName, 
    COUNT(*) AS downloads 
FROM yourtable 
GROUP BY fileName 
ORDER BY downloads DESC 
/* Optionally limit the number returned */ 
LIMIT 2; 
+0

A 'п о от' может быть полезным. :-) –

+0

@JoeStefanelli Действительно ... –

+0

Спасибо за интерес! – Editor

1
SELECT fileName, COUNT(*) AS DownloadCount 
    FROM YourTable 
    GROUP BY fileName 
    ORDER BY DownloadCount DESC; 
+0

Спасибо за интерес! – Editor

0

Вы можете использовать агрегатную функцию COUNT путем группировки на fileName

select fileName, count(1) as qty_dl 
    from your_table 
group by fileName 
order by qty_dl desc 
+0

Спасибо за интерес! – Editor

0
SELECT `fileName`, COUNT(`fileName`) AS `count` 
FROM `tableName` 
GROUP BY `fileName` 
ORDER BY `count` DESC 
LIMIT 2; 
+0

Спасибо за интерес! – Editor

Смежные вопросы