2016-04-05 2 views
0

это мой запрос:COUNT возвращается только один из каждого

"SELECT * FROM data GROUP BY id_s HAVING (COUNT(id_s) > 1)" 

Я запись 10x2, что акции id_s, и этот запрос возвращает только 2-ю запись из тех, что доля id_s, что я должен делать?

+2

не используйте 'select * ..' при объединении столбцов. –

ответ

1

Если вам нужен только id_s, тогда используйте внутренний выбор. Чтобы получить полную запись, сделайте

SELECT * FROM data 
where id_s in 
(
    SELECT id_s 
    FROM data 
    GROUP BY id_s 
    HAVING COUNT(id_s) > 1 
) 

Ваш запрос работает только в MySQL. Эта «функция» очень вводит в заблуждение и выдает ошибку в других механизмах БД, которые она должна делать. Если вы группируете, то выбираете только столбцы, которые вы группируете или объединяете другие с такими функциями, как sum(), count(), ...

Смежные вопросы