最需要的项目从mysql与php


Most Required Item from mysql with php

我有一个这样的数据库表结构:

--
-- Table structure for table `table_submissions`
--
CREATE TABLE IF NOT EXISTS `table_submissions` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Submission ID',
  `item_name` bigint(20) unsigned NOT NULL COMMENT 'Item Name',
  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0 = pending, 1 = approved, -1 = denied',
  PRIMARY KEY (`id`),
  KEY `item_name` (`item_name`),
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
php

$date_info = $db->fetchOne("SELECT * FROM table_submissions");

我需要编码php为"最需要的项目"顺序计数item_name limit 10

这意味着访问者需要的最多的item_name将在顶部,然后++ 9

我相信你想要这个:

SELECT 
    item_name, 
    count(1) 
FROM 
    table_submissions 
GROUP BY 
    item_name 
ORDER BY 
    count(1) DESC 
LIMIT 10;

注意,这并没有考虑一个用户请求同一项1000次和1000个用户每个请求一次的情况。如果这对您很重要,那么您需要一种按用户ID过滤的方法。