У меня есть 2 таблицы регистрации и Like.I хочу фильтр, основанный на верхнем, как. Если пользователь больше похож на другой, он должен быть сверху.
Две таблицы 1 Первая регистрация:
'signup'('id', 'first_name', 'last_name', 'mobile', 'password',
'confirm_password', 'email', 'username', 'country_id', 'state_id',
'city_id', 'gender', 'occupation_id', 'personal_address',
'personal_description', 'personal_status', 'business_name',
'business_categories_id', 'business_phone', 'business_email',
'business_address', 'business_website', 'services', 'business_status',
'personal_profile_photo', 'business_profile_photo', 'created_on', 'otp',
'status')
2 Like Table: b_like
(id
, userid
, profile_id
, type
, timestamp
)
мне нужен фильтр на основе лучших
Предполагая, что "id" и "profile_id" имеют одинаковое значение, вы должны сделать что-то вроде этого:
SELECT table_signup.id, COUNT(table_b_like.profile_id) count
FROM signup table_signup
LEFT JOIN b_like table_b_like ON table_signup.id = table_b_like.profile_id
GROUP BY table_signup.id
order by count desc
Вы получаете идентификатор (и количество) пользователей из таблицы регистрации, которые больше всего нравятся в таблице b_like