我已经检查了类似的问题,但它在我的确切问题中没有帮助。
所以,我的表是这样的:
id age
1 30
2 36
3 30
4 52
5 52
6 30
7 36
等。
我需要计算年龄的频率:
age freq
30 2
36 3
52 2
我怎样才能抓住这个频率? 在此之后,我将需要使用该数据,因此可能需要使用数组? 谢谢!
function drawChart() {
// Create the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'age');
data.addColumn('number', 'freq');
<?php
while($row = mysql_fetch_row($result))
{
$frequencies[$row[0]] = $frequencies[1];
echo "data.addRow(['{$row[0]}', {$row[1]}]);";
}
?>
目标是建立一个图表
答案 0 :(得分:7)
您需要按公共年龄对行进行分组,然后计算每组中的行数:
SELECT age, COUNT(*) AS freq FROM ages GROUP BY age
然后将其转换为数组,请在PHP中执行此操作:
$frequencies = array ();
$result = mysql_query('SELECT age, COUNT(*) AS freq FROM table GROUP BY age');
if($result === false) { handle error here... }
while($row = mysql_fetch_row($result)) {
$frequencies[$row[0]] = $row[1];
}
现在你有一个名为$ frequency的关联数组,其中年龄为关键字,频率为数值。
答案 1 :(得分:1)
select age, name, count(*) freq from user_age group by age
Sqlfiddle:http://sqlfiddle.com/#!2/266d5/2
答案 2 :(得分:0)
select age, count(*) freq from mytable group by age
答案 3 :(得分:0)
select age, count(id) as freq from table group by age