Помощник
|
sql: посчитать количество одинаковых записей в таблице |
Enforcer_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
Cristian |
13.1.2012, 3:01;
Ответить: Cristian
Сообщение
#2
|
|
Сделать группировку по Filename и добавить count(*) как аргумент на выборку.
|
|
|
adlic |
13.1.2012, 3:26;
Ответить: adlic
Сообщение
#3
|
|
[PHP]$res=mysql_query("SELECT * FROM `mytable`");
while($r=mysql_fetch_array($res)){ echo $r['filename'].": ".mysql_result(mysql_query("SELECT COUNT(*) FROM `mytable` WHERE `columnname`='". $r['filename'] ."'"),0,0); }[/PHP] |
|
|
Apay |
13.1.2012, 10:50;
Ответить: Apay
Сообщение
#4
|
|
adlic, зачем городить такое? тем более запрос в цикле? это мягко говоря не совем назумно. Cristian же подсказал решение. все просто делается одним запросом
SELECT `filename`, COUNT(`filename`) AS cnt FROM `table` GROUP BY `filename`
|
|
|
Mulder_hb |
13.1.2012, 10:58;
Ответить: Mulder_hb
Сообщение
#5
|
|
$res=mysql_query("SELECT * FROM `mytable`");while($r=mysql_fetch_array($res)){*echo $r['filename'].": ".mysql_result(mysql_query("SELECT COUNT(*) FROM `mytable` WHERE `columnname`='". $r['filename'] ."'"),0,0);} Никогда так не делайте. Похороните базу заживо. Делайте как сказал Cristian (в синтаксисе могу ошибаться): SELECT COUNT(*), `filename` FROM `downloads` GROUP BY `filename` ORDER BY `filename`;
|
|
|
Enforcer_hb
|
Сообщение
#6
|
|
Сделал так:
[PHP] $link = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Could not connect to MySQL server!"); mysql_select_db($dbname, $link); $query=mysql_query("SELECT `file`, COUNT(`file`) AS cnt FROM `downloads` GROUP BY `file`",$link); echo "<caption style='font-size:13px; background:#FFFFCC;'>Отображается: статистика по скачиваниям файлов</caption>"; while ($row = mysql_fetch_array($query)){ echo "<tr style='background-color:#".($i?"ddedff":"f2f8ff")."'> <td>".$row['file']." - ".$row['cnt']."</td> </tr>"; } [/PHP] Все отлично работает. Всем большое спасибо! ;) Если можно еще, скажите как вывести с сортировкой не по имени файла, а по количеству. То есть, чем больше количество скачиваний, тем выше место. |
|
|
Mulder_hb |
13.1.2012, 12:02;
Ответить: Mulder_hb
Сообщение
#7
|
|
SELECT COUNT(*) AS cnt, `filename` FROM `downloads` GROUP BY `filename` ORDER BY `cnt` DESC;
|
|
|
Enforcer_hb
|
Сообщение
#8
|
|
Mulder, спасибо!
Странно, вроде также писал и не работало. Видимо, ошибку где-то допустил в синтаксисе. |
|
|
BOOMer_us |
30.10.2014, 12:26;
Ответить: BOOMer_us
Сообщение
#9
|
|
|
|
|
Den1xxx |
30.10.2014, 12:32;
Ответить: Den1xxx
Сообщение
#10
|
|
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Google adwords показывает дробное количество конверсий | 0 | Megaspryt | 756 | 16.3.2024, 23:19 автор: Megaspryt |
|
База товаров (opencart) SQL 70к+ товаров Инструменты для дома, строительное и производственное оборудование |
5 | getdump | 5633 | 1.9.2021, 2:04 автор: WebSniper |
|
Web-разработка (C++/PHP/SQL/JS/Bootstrap). HighLoad проекты. | 0 | DF™ | 1434 | 28.7.2020, 13:24 автор: DF™ |
|
Продам большое количество статей по низким ценам Не веб-архив, читабельность, смысл и уникальность |
15 | ELECTROKATZE | 16661 | 24.6.2020, 20:52 автор: NoMax |
|
Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов |
4 | DFService | 3351 | 8.4.2020, 18:02 автор: DFService |
Текстовая версия | Сейчас: 20.4.2024, 13:42 |