Ошибка MySQL & quot; Выражение # 1 предложения ORDER BY отсутствует в предложении GROUP BY & quot;

Я пытаюсь получить общее количество записей из таблицы и использую следующий запрос MySQL:

SELECT COUNT(*) AS cnt FROM `info` WHERE 1 GROUP BY FROM_UNIXTIME(signup_date, '%Y-%m-%d') ORDER BY signup_date DESC

но это приводит к следующей ошибке:

Ошибка SQL (1055): выражение № 1 предложения ORDER BY отсутствует в предложении GROUP BY и содержит неагрегированный столбец ‘rentown.info.signup_date’
который функционально не зависит от столбцов в предложении GROUP BY;
это несовместимо с sql_mode = only_full_group_by. [SELECT COUNT (
)
КАК НЕТ ОТ info WHERE 1 GROUP BY FROM_UNIXTIME (дата регистрации,
«% Y-% m-% d») ORDER BY signup_date DESC]

и вот мой формат таблицы:

+ Options
id  email   signup_date     ip  city_name   firstname   address     state   lastname    city    zipcode     phonenumber     current_url     creditscore
4   [email protected]  1388525440  108.200.78.136  Philadelphia, PA    Kathy   1915 Apex Ave #1/4  California  Yeung   Los Angeles     90039   310 890 3338    NULL    NULL
10  [email protected]   1388884727  98.199.141.66   Dickinson, TX   Mackenzie   102 strand  Texas   Helms   Galveston   77550   409 599 8024    NULL    NULL
11  [email protected]  1388889053  99.190.210.155  Grand Prairie, TX   samathiis   1701 towne crossing blvd #731   Texas   ashley  mansfield   76063   817 210     NULL    NULL

2

Решение

Сообщение об ошибке довольно очевидно. Вы можете заказать только по столбцам, появляющимся в GROUP BY пункт или совокупности. Для быстрого решения просто закажите по тому же термину, который вы использовали при группировке.

SELECT COUNT(*) AS cnt
FROM `info`
GROUP BY FROM_UNIXTIME(signup_date, '%Y-%m-%d')
ORDER BY FROM_UNIXTIME(signup_date, '%Y-%m-%d') DESC
3

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

Для общего количества записей этого должно быть достаточно:

SELECT COUNT (*) AS cnt
FROM 'info'
ORDER BY signup_date DESC
0

По вопросам рекламы [email protected]