㈠ php分組統計,排序問題。
不是很理解你的收入是怎麼算的.就當假設的情況下
假如有張業務表 s,表中有業務來源欄位 s_type,有收入欄位s_in.
select sum(s_in) as money from s group by s_type order by money desc
㈡ php 產生數據統計圖
首先,PHP生成數據統計圖可以用jpgraph這個類庫,很方面也很容易使用,官方網站是:http://jpgraph.net
jpgraph生成的的統計圖其實就是圖片格式,當然也可以放到Drupal中,直接在模板中引入這個圖片鏈接或者在編輯器中插入圖片都可以。Drupal的模板機制可以參考這篇文章:http://mimiz.cn/index.php/drupal/drupal-themes-template/
希望可以幫助到你。
㈢ PHP循環顯示一個月的數據,並做當天統計
先說原理,首先就是根據你表裡面記錄時間的欄位的格式要方便些,還有你是一三十天為一個單位還是安裝自然月為一個月。不論那種你也可以多種方式就是選擇要顯示的時間。那麼就比較復雜,不過都大同小異。你可以可以用正則對時間進行處理,之後得到你的資料庫表數據調用循環范圍。然後對日期進行分類,之後每個分類裡面的錢數進行相加。要做好也挺麻煩主要是要顧慮各種情況。不懂再問我把,就說這些了。
㈣ PHP遞歸無限分類的 如何統計總條數 以及對顯示的結果進行分頁比如設置為每頁顯示10個 。
每個節點都要記錄子節點的數量c。每新增一個節點都要對各父和祖節點的子節點計數加1。這樣根節點會有總數的記錄。
這樣遞歸遍歷時也可以根據子節點數量c的來確定讀取的數量限制。比如 讀取條數計數<10 就繼續遞歸
在每個節點的表上 增加子節點的id集或計數,增加根節點到父節點路徑,會方便這些操作。
㈤ 關於PHP中的統計成績
查詢出所有的finalgrade 的成績 然後
int a b c d e =0;
$result=mysql_query(select * from mdl_grade_grades )
while($new_row=mysql_fetch_array($result))
if($new_row['分數欄位']>90){
$a++;
} elseif(80<$new_row['分數欄位']<90){
$b++;
}elseif.....直接到成績<60的 為止
最後echo $a;就是a的個數 $b 就是b的 。。。。懂了么?辛苦敲打 採納吧~~
㈥ MySQL按月分表PHP如何做匯總統計查詢排序分頁
1、UNION
2、若是innodb分表,則可以用merge處理。
直接搞一張專門針對統計數據用的匯總表
如果可能的話,不要採用分表的設計,採用表分區,這樣就對於查詢就不需要特殊處理了。規劃好索引,性能應該不會有問題。
㈦ ThinkPHP分組匯總統計如何實現
分組查詢原理都是SQL的分組查詢,THINKPHP中只是用到他自己的一些自定義的方法!比如
join()、group()、having()方法等,實際對應的也是SQL里的這些關鍵字!
例如本次需求是要按照cid進行分組,按照通常的做法是 SELECT * FROM 表名 GROUP BY
cid,這樣就能按照cid進行分組篩選!然後使用THINKPHP的時候則使用 M('表名')->group('cid')->select();
實際生成的語句和原始SQL代碼是一樣的。
join通常有下面幾種類型,不同類型的join操作會影響返回的數據結果。
INNER JOIN: 等同於 JOIN(默認的JOIN類型),如果表中有至少一個匹配,則返回行
LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN: 只要其中一個表中存在匹配,就返回行
㈧ php數組如何根據相同值再分組
這個答案是錯誤的!請及時認清。我想問一下答主你是這么想的?
請查考下面的這些PHP函數
統計:
array_count_values 統計數組中所有的值出現的次數
array_proct 計算數組中所有值的乘積
array_sum 計算數組中所有值的和
count 計算數組中的單元數目或對象中的屬性個數
sizeof count() 的別名
搜索:
array_key_exists 檢查給定的鍵名或索引是否存在於數組中
array_search 在數組中搜索給定的值,如果成功則返回相應的鍵名
in_array 檢查數組中是否存在某個值
排序:
array_multisort 對多個數組或多維數組進行排序
arsort 對數組進行逆向排序並保持索引關系
asort 對數組進行排序並保持索引關系
krsort 對數組按照鍵名逆向排序
ksort 對數組按照鍵名排序
natcasesort 用「自然排序」演算法對數組進行不區分大小寫字母的排序
natsort 用「自然排序」演算法對數組排序
rsort 對數組逆向排序
sort 對數組排序
uasort 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯
uksort 使用用戶自定義的比較函數對數組中的鍵名進行排序
usort 使用用戶自定義的比較函數對數組中的值進行排序
shuffle 將數組打亂
交集:
array_intersect_assoc 帶索引檢查計算數組的交集
array_intersect_key 使用鍵名比較計算數組的交集
array_intersect_uassoc 帶索引檢查計算數組的交集,用回調函數比較索引
array_intersect_ukey 用回調函數比較鍵名來計算數組的交集
array_intersect 計算數組的交集
array_key_exists 用回調函數比較鍵名來計算數組的交集
array_uintersect_assoc 帶索引檢查計算數組的交集,用回調函數比較數據
array_uintersect 計算數組的交集,用回調函數比較數據
差集:
array_udiff_assoc 帶索引檢查計算數組的差集,用回調函數比較數據
array_udiff_uassoc 帶索引檢查計算數組的差集,用回調函數比較數據和索引
array_udiff 用回調函數比較數據來計算數組的差集
array_diff_assoc 帶索引檢查計算數組的差集
array_diff_key 使用鍵名比較計算數組的差集
array_diff_uassoc 用用戶提供的回調函數做索引檢查來計算數組的差集
array_diff_ukey 用回調函數對鍵名比較計算數組的差集
array_diff 計算數組的差集
獲取數組的部分內容:
array_chunk 將一個數組分割成多個
array_filter 用回調函數過濾數組中的單元
array_keys 返回數組中所有的鍵名
array_slice 從數組中取出一段
array_values 返回數組中所有的值
加工出所需數組:
array_combine 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作 為其值
array_fill 用給定的值填充數組
array_flip 交換數組中的鍵和值
array_map 將回調函數作用到給定數組的單元上
array_merge_recursive 遞歸地合並一個或多個數組
array_merge 合並一個或多個數組
array_pad 用值將數組填補到指定長度
array_push 將一個或多個單元壓入數組的末尾(入棧)
array_reverse 返回一個單元順序相反的數組
array_shift 將數組開頭的單元移出數組
array_splice 把數組中的一部分去掉並用其它值取代
array_unique 移除數組中重復的值
array_unshift 在數組開頭插入一個或多個單元
array_walk_recursive 對數組中的每個成員遞歸地應用用戶函數
array_walk 對數組中的每個成員應用用戶函數
compact 建立一個數組,包括變數名和它們的值
range 建立一個包含指定范圍單元的數組
單元:
array_pop 將數組最後一個單元彈出(出棧)
array_rand 從數組中隨機取出一個或多個單元
current 返回數組中的當前單元
pos current() 的別名
each 返回數組中當前的鍵/值對並將數組指針向前移動一步
end 將數組的內部指針指向最後一個單元
key 返回數組中當前單元的鍵名
list 把數組中的值賦給一些變數
next 將數組中的內部指針向前移動一位
prev 將數組的內部指針倒回一位
reset 將數組的內部指針指向第一個單元
其他:
array_rece 用回調函數迭代地將數組簡化為單一的值
extract 從數組中將變數導入到當前的符號表
array 新建一個數組
㈨ PHP分類顯示輸出
雙重循環來實現,結構如下:
$sql1='select pro_nclass.id,pro_nclass.name,count(*) from pro_nclass,news where pro_nclass.id=news.cid group by 1,2 order by 1';
//上面的語句對news表中的新聞按照類別進行統計,並獲取類別名稱
$res1=mysql_query($sql1);
while(list($cid,$cname,$ncnt)=mysql_fetch_row($res1)){
echo "$cid $cname $ncnt<br>";//顯示本類新聞的名稱和數量
$sql2="select * from news where cid=$cid order by id desc limit 10";
$res2=mysql_query($sql2);
while($row=mysql_fetch_array($res2)){..顯示一個新聞的語句..}
mysql_free_result($res2);
}
mysql_free_result($res1);
以上代碼是基本的架構,你寫的時候一定要加上錯誤檢測。
㈩ php中如何用SQL查詢實現分組後按某欄位統計總數
實現上面sql查詢結果的記錄總數
$sql = select count(C.`cid`) as `c` from (select * from `ctable` group by pid) as C left join `ptable` as P on P.`pid` = C.`pid`;
詳解,此語句用到了sql子查詢,先使用子查詢對ctable進行分組查詢,然後對分組後的結果集進行統計.