我希望每年都有最多的城镇城市MYsql

时间:2012-03-01 17:43:19

标签: php mysql

我在我的数据库中有这些

年|城市
2011 |纽约 2010 | LA
2010 | LA
2010 |纽约 2012 |得克萨斯

我有一个2列包含名为year和town_city

我希望每年的城镇数量最多。

outout应该是

年|城市|总数 2011 |纽约| 1
2010 |洛杉矶| 2
2012 |得克萨斯州1

4 个答案:

答案 0 :(得分:1)

执行此操作的几个步骤:

首先 - 您需要找到所有不同的名称:

  SELECT DISTINCT column_name(s)
  FROM table_name

这将产生一个包括纽约,洛杉矶,德克萨斯州的阵列 - 将其保存为$ unique;

其次,逐步执行数组,运行具有该特定值的SQL查询,将结果数保存为多维数组:

  foreach ($unique as Su):
   $u[$i['city'] = $u;
   $u[$i]['num'] =
  //SQL COUNT

   SELECT COUNT(city) AS City FROM TableName
   WHERE City=$u        
   FROM table_name 

 //increase array count
    $i++; 
 endforeach;

这将为您留下如下数组:

     $u[0]['city'] = New York
     $u[0]['num'] = 2

答案 1 :(得分:0)

SELECT year, city, count(*)
FROM city_table
GROUP by year, city;

答案 2 :(得分:0)

您将需要使用此查询:

SELECT year,city,count(*) AS total FROM tablename group by city;

group by将仅返回具有唯一城市的行,而计数将显示已合并的行数。

答案 3 :(得分:0)

使用此功能可以获得所需的结果:

SELECT year, city, count(*)
FROM city_table ct1
WHERE year=(SELECT max(year) FROM city_table ct2 WHERE ct2.city=ct1.city)
GROUP BY year, city