MySQL запрос, чтобы выбрать SUM типа данных длинного текста и сохранить результат как переменную

Мне нужно выбрать некоторые значения из столбца таблицы, который имеет тип данных «longtext», где другой столбец имеет определенное значение, и добавить эти значения вверх. Мне нужно сохранить сумму как переменную, которую я буду а.) Отображать на веб-странице и б) использовать значение в вычислении позже на странице.

Это работает, чтобы найти все значения, которые мне нужно сложить:

 $query = "SELECT meta_value
FROM wp_postmeta
WHERE meta_key = '_crowdfundingtotalprice'
ORDER BY CAST(`meta_value` AS UNSIGNED) DESC";

и я могу отобразить результаты с:

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo $row['meta_value']. "<br>";
}

Из моего поиска я думаю, что я близок к своему запросу, но моя страница не загружается, когда я пытаюсь отобразить результаты. Вот что не работает:

$query = "SELECT CAST(SUM('meta_value') as UNSIGNED)
FROM wp_postmeta
WHERE meta_key = '_crowdfundingtotalprice'";

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo $row[SUM('meta_value')]. "<br>";
}

Как вы уже догадались, это таблица базы данных WordPress, и я не могу изменить тип данных. Как всегда, ваша помощь приветствуется!

РЕДАКТИРОВАТЬ — Испытывая предложение Гордона Линоффа ниже, я удалил одинарные кавычки вокруг meta_value. Это все еще не работает, но спасибо за предложение:

$query = "SELECT CAST(SUM(meta_value) as UNSIGNED)
FROM wp_postmeta
WHERE meta_key = '_crowdfundingtotalprice'";

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo $row[SUM(meta_value)]. "<br>";
}

0

Решение

РЕШИТЬ:

Спасибо Гордону Линоффу за указание на мою опечатку. Я закончил тем, что сделал образец таблицы и разработал это самостоятельно. Действительно, одинарные кавычки в моем запросе не были нужны. Однако там, где я повторял результаты, мне нужны были одинарные кавычки, но они были не в том месте. Заметка $row['SUM(meta_value)'] вместо $row[SUM('meta_value')],

Кроме того, мне не нужно было использовать CAST (который не работал), потому что MYSQL по умолчанию будет обрабатывать значения как математические значения, если в запросе используется математика.

$query = "SELECT meta_key, SUM(meta_value)
FROM wp_postmeta
WHERE meta_key = '_crowdfundingtotalprice'";

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo $row['SUM(meta_value)'] ."<br>";
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector