У меня есть этот SQL-запрос, который работает так, как должен, когда я запускаю его в phpMyAdmin.Выберите счетчик (*) из базы данных
SELECT COUNT(*) , LENGTH(Number) AS Numbers
FROM `history_2015-07-22`
WHERE Number NOT LIKE '123%'
OR LENGTH(Number) <50
GROUP BY Numbers
ORDER BY TIME = '2015-07-22 00:00:01' ASC
Теперь я хочу, чтобы сделать простой PHP-страницу, где я хочу, чтобы отобразить результаты запроса в браузере, но я не могу понять, как повторить это точно. Так что я сделал это:
$result = $pdo->prepare("SELECT COUNT(*) , LENGTH(Number) AS Numbers
FROM `history_2015-07-22`
WHERE Number NOT LIKE '123%'
OR LENGTH(Number) <50
GROUP BY Numbers
ORDER BY TIME = '2015-07-22 00:00:01' ASC ");
$result->execute();
foreach ($result as $Numbers)
{
echo '<div class="container">
'.$Numbers['COUNT(*)'].'
'.$Numbers['LENGTH(Number)'].'
</div>';
}
То, что я хочу повторить это Count
и Length
. Я уверен, что это очень просто, что я пропустил, но не могу понять.
'ORDER BY' не использует равное назначение. Прочтите руководство https://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html –
Используйте псевдоним 'COUNT (*) как cnt' и в php' $ Numbers ['cnt'] и $ Numbers ['Numbers'] ' –
@ Fred-ii- мы можем использовать' order by col = 'someval'', это подтолкнуло бы запись вверху для соответствующего значения. –