mysql 查詢a表的某字段 大於 b表中a.id=b.id的條目數

描述:A,B兩表 1對多 關係,A中有個字符串字段type,要判斷type的第6位,大於 B表中 符合A.id=B.id的數據條目數。

兩種寫法:

SELECT DISTINCT(r1.id),r1.play_type_str,SUBSTRING(r1.play_type_str, 6,1)
FROM recommend_lottery r1 LEFT JOIN recommend_clasli r2 
ON r1.id=r2.recommend_lottery_id 
WHERE SUBSTRING(r1.play_type_str, 6,1)>(SELECT COUNT(*) from recommend_clasli r2 WHERE  r2.recommend_lottery_id=r1.id GROUP BY r2.recommend_lottery_id)


SELECT r1.id ,r1.play_type_str,SUBSTRING(r1.play_type_str, 6,1),r2.num
FROM recommend_lottery r1 
LEFT JOIN (
  SELECT COUNT(*) num,recommend_lottery_id from recommend_clasli group by recommend_lottery_id
)r2 ON r1.id =r2.recommend_lottery_id 
WHERE SUBSTRING(r1.play_type_str, 6,1)>r2.num or  LENGTH(r1.play_type_str)>9 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章