网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 服务器与数据库 > MySQL
User Name
Password
 
FAQ Members List Calendar Cheap Glasses

Reply
 
Thread Tools Display Modes
  #1   IP: 153.99.76.136
Old 2016-07-04, 06:34 AM
Raegan Raegan is offline
初级会员
 
Join Date: 2008-09-12
Posts: 4
Raegan 现在声名狼藉
Default 使用mysql的disctinct group by查询不重复记录

有个需求,一直没有解决,在google上找了半天,给出的方案没有一个能用了,最后鬼使神差搞定了。
   是这样的,假设一个表:

id f_id value
1 2 a
2 2 b
3 5 c
4 9 c
5 9 a
6 6 d

id f_id value
1 2 a
2 2 b
3 5 c
4 9 c
5 9 a
6 6 d
   id是主键,f_id是外键,我需要获得不重复的外键f_id的数据,如果用group by 或者distinct很容易搞定


select f_id from table group by f_id
select distinct f_id from table
   但如果再想在结果中得到id值的话,不管怎么都会乱。比如我想在结果中用id进行排序,诸如”select distinct f_id, id from table order by id desc”完全白费。在google上看了大量的例子,发现需要在select中对id做手脚,让mysql知道除了f_id外,对id应该进行如何的操作。诸如Max, Min, Avg,Sun..都是可以的,于是变成以下的代码就搞定了……

select f_id, max(id) as id from table group by f_id order by id desc
   搞定,网上有个文章很接近答案,但是他没有”as id”,导致在我的mysql中执行结果有误,呵呵。
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
mysql删除重复记录语句的方法 Raegan MySQL 0 2016-07-04 06:32 AM
跟我学sql:(二) Select语句选项 topvip 建站交流 0 2009-02-12 07:42 AM

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 10:44 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.