mysql中distinct是什么_MySQL 中 distinct 的用法

在使用mysql時,有時需要查詢出某個字段不重復的記錄,雖然mysql提供有distinct這個關鍵字來過濾掉多余的重復記錄只保留一條,但往往只 用它來返回不重復記錄的條數,而不是用它來返回不重記錄的所有值。其原因是distinct只能返回它的目標字段,而無法返回其它字段。 需要的話請使用 group by 這個來實現,下一篇會詳細的講解group by 的使用

表A:

c170e04c2aadabc1951c5cff0b6eede2.png

示例1

select distinct name from A

執行后結果如下:

0fd31817ac0848d65f02ae0aefd182d4.png

示例2

select distinct name, id from A

執行后結果如下:

c5d5bf30f3a7682c21cf1a7962fa984b.png

實際上是根據“name+id”來去重,distinct同時作用在了name和id上。

示例3:統計

select count(distinct name) from A;   --表中name去重后的數目,

select count(distinct name, id) from A;

示例4

select id, distinct name from A;   --會提示錯誤,因為distinct必須放在開頭

其他

distinct語句中select顯示的字段只能是distinct指定的字段,其他字段是不可能出現的。例如,假如表A有“備注”列,如果想獲取distinc name,以及對應的“備注”字段,想直接通過distinct是不可能實現的。 那么我們可以用 group by 來時先這個需求。group by 的使用請看下一篇博客。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值