ImagineDranges 2017-08-24 02:47 采纳率: 50%
浏览 1043
已采纳

简单sql查询问题(紫薯紫薯紫薯)

请问sql大牛,我这个有点绕晕了,想不明白:
表数据是这样的:

 id category_name    type    description    
1      james                20       语文
2     curry                34        语文
3     curry                20        数学 
4     james              30      数学
5     curry               30        英语  
6     james              78     英语  

sql:

 SELECT category_name,description FROM category a WHERE TYPE>(
  SELECT MIN(TYPE) FROM category b WHERE a.description=b.description
)

结果:
category_name description
curry 语文
james 数学
james 英语

为什么结果里显示第五条数据过滤掉了?
谁能给分析一下sql执行顺序?谢谢!

  • 写回答

7条回答 默认 最新

  • XianRenShan 2017-08-24 03:48
    关注

    在表category中查询出category_name,description数据并且description的type最小值

    --查询组合字段为(3)
    SELECT category_name,description
    ---连表为(1)
    FROM category a
    ---查询条件为(2)
    WHERE TYPE>(
    SELECT MIN(TYPE) FROM category b WHERE a.description=b.description
    )

    说明顺序为1-3
    转自:http://blog.csdn.net/bitcarmanlee/article/details/51004767

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?