我正在使用PostgreSQL 9.6。我有一个查询如下:
SELECT anon_1.id AS anon_1_id, anon_1.is_valid AS anon_1_is_valid, anon_1.first_name AS anon_1_first_name, anon_1.last_name AS anon_1_last_name,
anon_1.patronymic_name AS anon_1_patronymic_name,
anon_1.experience AS anon_1_experience, anon_1.user_id AS anon_1_user_id, anon_1.rating_points as rating_points
FROM (SELECT DISTINCT ON (doctors.id) doctors.id AS id, doctors.created_at AS created_at, doctors.updated_at AS updated_at, doctors.is_valid AS is_valid, doctors.pretty_url AS pretty_url, doctors.first_name AS first_name, doctors.last_name AS last_name, doctors.patronymic_name AS patronymic_name, doctors.phone AS phone, doctors.birthday AS birthday, doctors.avatar AS avatar, doctors.experience AS experience, doctors.science_degree AS science_degree, doctors.sex_id AS sex_id, doctors.yclients_staff_id AS yclients_staff_id, doctors.user_id AS user_id, doctor_has_specialties.rating_points AS rating_points, clinic_branch_has_doctors.price AS price, clinic_branch_has_doctors.doctor_type AS doctor_type, clinic_branch_has_doctors.is_house_call AS is_house_call, clinic_branch_has_doctors.house_call_price AS house_call_price
FROM doctors
JOIN doctor_has_specialties ON doctors.id = doctor_has_specialties.doctor_id
JOIN clinic_branch_has_doctors ON doctor_has_specialties.id = clinic_branch_has_doctors.doctor_has_specialty_id
JOIN clinic_branches ON clinic_branches.id = clinic_branch_has_doctors.clinic_branch_id
JOIN city_areas ON city_areas.id = clinic_branches.city_area_id
JOIN cities ON cities.id = city_areas.city_id
WHERE doctors.is_valid = true
AND clinic_branch_has_doctors.is_valid = true
AND clinic_branches.is_valid = true
AND doctor_has_specialties.specialty_id = 1
AND cities.id = 1) AS anon_1 ORDER BY anon_1.rating_points DESC
LIMIT 100 OFFSET 0
这里查询最重要的部分是最后一个,即LIMIT和OFFSET。当我运行这个查询时,我得到所有的数据,最多100行。一切都很好,如下图所示:
![enter image description here](https://istack.dev59.com/8lPBH.webp)
![enter image description here](https://istack.dev59.com/QVYkM.webp)
ORDER BY anon_1.rating_points
,那么你为什么期望anon_1_id
列与返回的记录有任何相关性呢? - Tim Biegeleisen