SQLI SUM (rowname) не работает в инструкции if с num_rows (PHP) [duplicate]

Я думаю, что эта проблема должна решить плагин сборки. Вам нужно построить жирную банку. Например, в sbt:

  • добавьте файл $PROJECT_ROOT/project/assembly.sbt с кодом addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.0")
  • в build.sbt added some libraries libraryDependencies ++ = Seq ("com.some. компания "%%" some-lib "%" 1.0.0 ")`
  • в консоли sbt введите «сборка» и разверните сборку jar

. Если вам нужно дополнительную информацию, перейдите к https://github.com/sbt/sbt-assembly

0
задан Mark 24 October 2010 в 00:05
поделиться

2 ответа

mysql_num_rows () указывает количество строк, возвращаемых запросом базы данных. В вашем случае всегда возвращается одна строка, потому что всегда есть одна сумма. Конечно, сумма может быть 0.

Возможно, будет хорошей проверкой ваш запрос в браузере запросов mysql. Возможно, вы ищете что-то вроде этого?

SELECT name, SUM(students_money) AS sum_money 
FROM students_table
GROUP BY name;

Это будет группировать суммы на основе имени. Чтобы пропустить 0 сум, вы можете добавить это:

HAVING sum_money > 0;
3
ответ дан Hendrik Brummermann 21 August 2018 в 16:22
поделиться

SUM() является агрегированной функцией. Он принимает все строки, которые возвращаются для группы, и добавляет их.

Поскольку у вас нет предложения GROUP BY, он суммирует значения всех строк, даже если их нет. Затем он возвращает общее число в виде одной строки, поэтому должна быть только 1 строка.

Если вы уточните, что хотите вернуть, я могу попытаться помочь вам написать заявление, чтобы вернуть его.

4
ответ дан Alan Geleynse 21 August 2018 в 16:22
поделиться
  • 1
    Я хочу, чтобы проверить, нет ли Тома и Джека в таблице, а также использовать функцию SUM (). Это возможно? – Mark 24 October 2010 в 00:15
  • 2
    Если вы хотите вернуть сумму для обоих из них, вы не можете сделать это в одном запросе. Если вы хотите узнать общее количество для каждого имени, вы можете использовать запрос @nhnb. Затем вы можете выполнить сумму в PHP. В противном случае вам нужно будет сделать запрос, чтобы узнать, оба ли они заплатили, а затем второй запрос, чтобы получить сумму. – Alan Geleynse 24 October 2010 в 00:22
Другие вопросы по тегам:

Похожие вопросы: