У меня есть 2 таблицы.Первый, называемый «пользователи», выглядит следующим образом:
id | Username
----------------------
1 | time
2 | bill
3 | jeff
Второй, называемый «сообщения», выглядит следующим образом:
id | user | category
----------------------
1 | bill | 3
2 | tim | 1
3 | bill | 3
4 | bill | 2
Каждому другому номеру в столбце категорий соответствуетв категорию.
Я пытаюсь создать SQL-запрос, в котором все пользователи, у которых более 10% постов попадают в определенную категорию.Вот как выглядит мой текущий (не работающий) код для категории 3:
SELECT
u.Username,
(
(SELECT COUNT(*) FROM posts WHERE user=u.Username AND category=3)
/ (SELECT COUNT(*) FROM posts WHERE user=u.Username)
* 100
) AS percentage
FROM users u
WHERE percentage > 10
Теоретически этот запрос должен возвращать 'bill'.Тем не менее, это не работает!У меня где-нибудь есть синтаксическая ошибка или мой метод плохой / неправильный?