2017-03-28 10 views
0

私は、3つの異なる列によってそのグループのSQLを作成する必要があり、これは私のクエリです:MySQLのGROUP BYクエリで複数の列を使用できないのはなぜですか?

SELECT 
    notification.type, 
    notification.triggerer, 
    notification.to_what, 
    ANY_VALUE(user_data.name) AS name, 
    ANY_VALUE(user_data.surname) AS surname, 
    ANY_VALUE(user_data.avatarimage) AS avatarimage, 
    COUNT(*) AS counter 
FROM notification 
INNER JOIN user_data 
    ON notification.triggerer = user_data.owner 
WHERE notification.owner = "c6cecc891f6c4cc84cc0b62062578e52" 
    AND isdelete=0 
ORDER BY notification.id DESC 
GROUP BY notification.triggerer, notification.type, notification.to_what 
LIMIT 0,100 

しかし、私はこれを作るとき、それは私にエラーを示しています

> #1064 - You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near 
'GROUP BY notification.triggerer, notification.type, notification.to_what 
LIMIT ' at line 15 

私はどのように修正することができますそれ?

答えて

1

あなたはそれを使用することができますが、あなたのごgroup byorder by

SELECT 
    notification.type, 
    notification.triggerer, 
    notification.to_what, 
    ANY_VALUE(user_data.name) AS name, 
    ANY_VALUE(user_data.surname) AS surname, 
    ANY_VALUE(user_data.avatarimage) AS avatarimage, 
    COUNT(*) AS counter 
FROM notification 
INNER JOIN user_data 
    ON notification.triggerer = user_data.owner 
WHERE notification.owner = "c6cecc891f6c4cc84cc0b62062578e52" 
    AND isdelete=0 
GROUP BY notification.triggerer, notification.type, notification.to_what 
ORDER BY notification.id DESC 
LIMIT 0,100 
+0

前でなければならない、私はあなたに+1を送信したいと思いますが、私のランクは私を許可していません:(..しかし、本当にあなたのためにあなたに感謝答え –

+0

@NicolasMozoあなたは歓迎です。答えを受け入れることができます。 – Jens

関連する問題