Извините, что я новичок в этом. Просто пытаюсь учиться. Я пытаюсь условно подсчитать количество случаев, когда определенное условие возникает в SQL, используя функции case и count. Это подсчитывает количество мужчин/женщин, хранящихся в таблице eeg. Вот мой SQL-запрос.Условно подсчитать строки столбцов MYSQL и выходные данные через PHP
SELECT COUNT(CASE WHEN `Gender` = 'Male' THEN 1 END),
COUNT(CASE WHEN `Gender` = 'Female' THEN 1 END)
FROM `eeg`
Это выводит данные, когда я выполнить запрос на тузде бэкэнде (PhpMyAdmin), но в моем файле PHP, я получаю сообщение об ошибке «Index Неопределенной» для этих 2-х строк. Все остальные строки в порядке. Я не знаю, как выводить этот конкретный набор данных в переменную.
Вот SQL-запрос (в полном объеме) в файле PHP:
$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($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 researchCount,' и т. Д. – jeroen
Может быть, «Пол» отличается от «Пол»? Вы используете разные кавычки вверх и вниз, поэтому ваши псевдонимы различны и нет индекса в массиве строк. – daniherculano