phpmyadmin显示0-1结果

时间:2014-02-20 11:59:59

标签: mysql sql phpmyadmin group-by

请参阅下面的表结构:

-- Table structure for table `station_listing`
CREATE TABLE IF NOT EXISTS `station_listing`(
  `id` bigint(11) NOT NULL AUTO_INCREMENT,
  `lid` bigint(11) NOT NULL,
  `cid` bigint(11) NOT NULL,
  `name` varchar(300) NOT NULL,
  `type` enum('homeservices','restaurants') NOT NULL,
  `location` varchar(300) NOT NULL,
  `stationID` varchar(300) NOT NULL,
  `claimed` tinyint(1) NOT NULL,
  `closed` tinyint(1) NOT NULL,
  `reviewcount` int(6) NOT NULL,
  `rating` decimal(10,1) NOT NULL,
  `city` varchar(300) NOT NULL,
  `categories` varchar(300) NOT NULL,
  `dealcount` int(6) NOT NULL,
  `result_month` varchar(10) NOT NULL,
  `updated_date` date NOT NULL,
  PRIMARY KEY (`id`),
  KEY `stationID` (`stationID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

-- Dumping data for table `station_listing`
INSERT INTO `station_listing`(
   `id`, `lid`, `cid`, `name`, `type`, `location`,
   `stationID`, `claimed`, `closed`, `reviewcount`, `rating`, `city`,
  `categories`, `dealcount`, `result_month`, `updated_date`
) VALUES (
   310837, 115, 151, 'Apartment Building', 'homeservices', 'West Hollywood',
  'apartment-building-los-angeles', 0, 0, 1, '1.0', 'Los Angeles',
  'apartments', 0, 'Jan', '2014-01-15'
), (
  314, 4, 1, 'King of Shawarma', 'restaurants', 'Calgary',
  'king-of-shawarma-calgary-2', 0, 0, 0, '0.0', 'Calgary', 
  'afghani,halal,falafel', 0, 'Jan', '2014-02-14');

我有一张表格,其中包含每个月更新的不同业务的详细信息。

stationID每个月都会使用其参数更新一次。

我需要获取在选定的月份范围内常见的stationID。例如,如果我选择从1月到3月的范围,这应该获取所有常见的飞蛾JAn,Feb和MAr。

我们尝试GROUP BY对几个月内出现的所有电台进行分组。

我面临以下问题,

当我尝试查询时:

  SELECT stationID 
    FROM station_lisitng 
GROUP BY `stationID``

我正在获取stationIDs

的完整列表

但是在尝试获取多个列时,例如:

SELECT id, stationID FROM station_lisitng GROUP BY `stationID`;

我们得到并且phpMyAdmin错误为'显示0到-1结果',我们既没有得到结果也没有计算结果。

我们的表包含大量条目(100万),我们怀疑分组是否会造成麻烦。除此之外还有带特殊字符的电台ID!

stationID列已编入索引,并且是每个工作站唯一可识别的实体。

SELECT id, stationID FROM station_lisitng GROUP BY `stationID` LIMIT 0,900000`

上述工作但耗费了大量时间。

如果你能帮助我们用stationID对这个表进行分组,那就太棒了。

我们尝试了以下查询,我们对其性能并不满意:

SELECT `stationID`,
       name,
       lid,
       cid,
       type,
       location, 
       COUNT(*) c 
FROM `yc_biz_listing` 
WHERE DATE_FORMAT(`updated_date`, '%m %Y') BETWEEN '01 2014' AND '03 2014' 
GROUP BY `yelpID` HAVING c = 3

任何帮助都将受到高度赞赏。提前谢谢。

0 个答案:

没有答案