對不起,我是新手。只是想學習。我試圖有條件地使用case和count函數統計SQL中發生特定情況的次數。這個計數存儲在eeg表中的男性/女性的數量。這是我的SQL查詢。通過PHP有條件地計算MYSQL列的行數和輸出數據
SELECT COUNT(CASE WHEN `Gender` = 'Male' THEN 1 END),
COUNT(CASE WHEN `Gender` = 'Female' THEN 1 END)
FROM `eeg`
當我運行的MySQL後端(phpMyAdmin的)查詢該輸出數據,但在我的PHP文件,我得到了這2行的「未定義指數」的錯誤。所有其他行都非常好。我不知道如何將這些特定的數據集輸出到變量中。
這裏是在PHP文件SQL查詢(全稱):
$result = mysql_query("SELECT MONTH(ScanDate), YEAR(ScanDate),
COUNT(Investigation),
COUNT(CASE WHEN `Gender` = 'Male' THEN 1 END),
COUNT(CASE WHEN `Gender` = 'Female' THEN 1 END),
SUM(InvestigationAmount), SUM(AmountDue)
FROM eeg
WHERE Investigation = '{$investigation}'
AND ScanDate BETWEEN '{$ScanDate1}'
AND '{$ScanDate2}'");
這裏是while循環(全稱):
while($row=mysql_fetch_array($result)){
$month_doe=$row['MONTH(ScanDate)'];
$year_doe=$row['YEAR(ScanDate)'];
$si=$row['COUNT(Investigation)'];
$male=$row["COUNT(CASE WHEN 'Gender' = 'Male' THEN 1 END)"];
$female=$row["COUNT(CASE WHEN 'Gender' = 'Female' THEN 1 END)"];
$sum_investigation=number_format($si);
$sia=$row['SUM(InvestigationAmount)'];
$sum_investigationamount=number_format($sia);
$srd=$row['SUM(AmountDue)'];
$sum_rebatedue=number_format($srd);
}
謝謝您的幫助。從字面上拉我的頭髮,但愛學習和提高。是的,請求mysql_query折舊:d
截圖如下:
代碼截圖
請將代碼作爲文本粘貼,而不是作爲圖片,如果與答案相關我們無法複製/粘貼圖片,我們也不想重寫它 – RiggsFolly
您需要爲您計算的列別名:'COUNT(Investigation)AS investigationCount,'等。 – jeroen
也許'Gender'與'Gender'不同?你上下使用不同的引號,所以你的別名是不同的,行數組中沒有索引 – daniherculano