MySQL-排序加去重sql语句
?
最近在重新復習mysql數據庫
?
下面是一張學生表?student?
需要將重復的姓名name字段進行去重,然后學生的生日birthday 字段篩選出最早的時間進行降序。
?
我用到的是?GROUP BY函數進行分組去重,先將查出 birthday 字段進行分組并且降序。
SELECT * from student GROUP BY birthday ORDER BY birthday DESC結果如下:排序需求已經完成了,現在還需要名字去重,那就把上面的 sql語句復制一下繼續套用。
?
將復制的sql語句嵌套起來用,再將學生name 字段進行?GROUP BY name函數進行分組去重。
隨便起了個表的別名 a 就是student學生表
SELECT * from (SELECT * from student GROUP BY birthday ORDER BY birthday DESC) a GROUP BY a.name結果如下,生日日期較短的張三已經去重消失了,剩下的張三的生日時間是比較新的。
?
?如果有小伙伴查詢sql的?GROUP BY函數的時候就會出現以下報錯
?Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'xxx.xxxxxx.xxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
可以去下面這個鏈接解決。
https://blog.csdn.net/NatChan/article/details/108085652
?
總結
以上是生活随笔為你收集整理的MySQL-排序加去重sql语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ykhmi是什么触摸屏软件_深圳市人机界
- 下一篇: 抛物型微分方程的数值解法——向前及向后欧