mysql 分組查詢(根據(jù)年齡范圍間隔查詢)

### 間隔查詢,
SELECT elt(interval (TIMESTAMPDIFF(YEAR, b.birthday, now()),0,36, 46, 56, 66, 76,86),'35以下','36-45','46-55','56-65','66-75','76-85','86以上') AS ageRange, count(*) AS nums
    FROM doctor d, doctor_patient a, `user` b, patient c
    WHERE  b.birthday is not null  AND a.deleted = 0 AND b.deleted = 0 AND c.deleted = 0 AND d.deleted = 0
    <if test="doctorUserId != null and doctorUserId !=''">
      AND d.user_id = #{doctorUserId}
    </if>
    <if test="hospitalId != null and hospitalId != ''">
      AND d.hospital_id = #{hospitalId}
    </if>
      AND d.user_id = a.doctor_user_id AND a.patient_user_id = b.id AND a.patient_user_id = c.user_id AND c.disease = #{disease} group by ageRange ORDER BY ageRange ASC
### 年齡
image.png
### 年齡小于36,年齡介于36-45 介于46-55 介于56-65 介于66-75 大于86 
image.png
###不同年齡間隔起別名
image.png
### 根據(jù)ageRange 分組,
###升序排列
image.png
###查詢結(jié)果如下
image.png
### 分組查詢- 統(tǒng)計(jì)不同性別的用戶數(shù)量
SELECT gender,COUNT(*) AS nums FROM doctor_patient a,`user`b,patient c WHERE a.doctor_user_id = 
'90a6e69239af45a1aab9e8756bcd3035' AND a.patient_user_id = b.id AND a.patient_user_id = c.user_id 
AND c.disease = 0 AND b.deleted = 0 AND c.deleted = 0 AND a.deleted = 3 GROUP BY gender;
### 分組查詢-統(tǒng)計(jì)不同疾病的用戶數(shù)量
SELECT disease,COUNT(*) AS nums FROM doctor_patient a,patient b WHERE a.doctor_user_id = 
'90a6e69239af45a1aab9e8756bcd3035' AND a.patient_user_id = b.user_id AND a.deleted = 0 AND b.deleted = 0 GROUP BY disease;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容