У меня есть таблица с ~ 100 000 строк.
Я пытаюсь распечатать на экране наиболее часто используемые "type_num
" из столбца.
Таким образом, если 2362 появляется 1000 раз в столбце type_num
, который является наиболее используемым типом, а 1234 используется 987 раз и т. Д., Я получаю список desc наиболее часто используемых type_num
.
Не повезло. Вот моя попытка новичка:
my $mostused = DBI->connect("$thedb","$user","$password") or die "Connection Error: $DBI::errstr\n";
my $getfreq = $mostused->prepare(qq{SELECT `type_num` count(*) FROM `productstable` GROUP BY `type_num` ORDER BY count(*) DESC LIMIT 10}); ##just tested with 10
$getfreq->execute() or die "Connection Error: $DBI::errstr\n";
while(my ($type_num) = $getfreq->fetchrow_array()) {
print qq~$type_num<br />~;
}
$getfreq->finish(); #not sure if correct
$mostused->disconnect; #not sure if correct
Ошибка подключения: у вас есть ошибка в
ваш синтаксис SQL; проверьте руководство, которое
соответствует вашему серверу MySQL
версия для правильного использования синтаксиса
около 'count (*) ИЗ `productstable`
GROUP BY `type_id` ORDER BY count (*)
DESC LIMIT 10 'в строке 1
type_num - это число от 1 до 5 цифр. (Используя DBI и строгий, но этот пример очищен.)
Я пробовал несколько вариантов и примеров, которые я нашел при поиске здесь, но я делаю что-то не так. пожалуйста, помогите.