mysql資料庫統計
⑴ php如何統計mysql資料庫列中有逗號隔開的欄位內多個值的個數
如果你要達到你說的這種效果,需要對資料庫表進行重新設計,你現在這種設計不合理!
如果無法改變數據表的話,就需要PHP來進行處理,這需要把數據表裡的所有行全取出來,然後根據切開的單個值組成數組,統計數組里值的個數,再排名。
下面簡單的寫一下代碼,未經測試,主要看解決思路
$rank = $_pie = array();
$result = mysql_query(『『SELECT * FROM table』』); // table為你實際數據表名稱
while ($row = mysql_fetch_assoc($result))
{
if (!empty($row['code']))
{
$_pie = explode(',', $row['code']);
foreach ($_pie as $_v) {
$rank[$_v]++; // 統計加1
}
}
}
if (!empty($rank))
{
rsort($rank); // 排序
$index = 0;
foreach ($rank as $key => $val) {
$index++;
echo $index . "\t" . $key . "\t" . $val . "\n"; // 輸出樣式
}
}
以上php方式應該可以達到你想要的結果,但不能做為實際生產解決方式,因為如果數據表裡的數據多的話,這樣做是非常不理想的,所以建議重新設計數據表!!
如你描述,跟網站中熱門標簽所需效果差不多,可以參考一些開源程序中熱門標簽的解決方案!!
⑵ mysql 資料庫求平均數問題
MySQL的AVG函數是用來求出各種記錄中的欄位的平均值。
MySQL中語句如下:
updateTable1setavg_price=(selectavg(price)fromTable2whereTable2=.ID=Table1.TID)
(2)mysql資料庫統計擴展閱讀
在使用資料庫進行數據篩選時查詢時,經常會用到一些聚合函數,如count(),sum(),max(),min(),avg()
聚合函數會把NULL排除在外,但Count(*)例外,並不會排除NULL;
AVG() 函數
AVG() 函數返回數值列的平均值。
SQL AVG() 語法
SELECT AVG(column_name) FROM table_name
sum為求平均值函數,將要求總和值的列sum(列名)
avg為求平均值函數,將要求平均值的列avg(列名)
nvl為如果未空則置空值為其他數據的函數,nvl(為空的列,將空值置成的其他值)
round為四捨五入函數,round(列名,保留小數位數)
⑶ mysql資料庫中怎麼記錄每個用戶每天使用了多少流量、簡訊
select count(1) from "查詢的表" where "時間" >= "當天零點" and "時間" < "當前時間";
MySQL是一個關系型資料庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下公司。
MySQL 最流行的關系型資料庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體之一。
⑷ 求一個統計資料庫 所有表的記錄條數的總和的語句(mysql)
<?php
mysql_connect('localhost','資料庫帳號','資料庫密槐仿搜碼');
mysql_select_db('資料庫名');
$result = mysql_query('show tables'); //獲取所有大叢表名
$all_record = 0;
while($record = mysql_fetch_row($result)) {
$tb_name = $record[0]; //表名
$n = mysql_result(mysql_query('select count(*) from `'.$tb_name.'`'),0);
$all_record+=$n;
}
echo $all_record; //總記錄數鉛歷
?>