免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2882 | 回复: 6
打印 上一主题 下一主题

求助,mysql 如何查询指定无规则多行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-19 18:03 |只看该作者 |倒序浏览
下面的代码是错误的
SELECT * FROM `mylist` WHERE `id` ='1,2,6,3,6,9,5,88';

数量很多的指定ID,如何一次查出来?


WHERE `id` =1 OR `id` =2 .....这样写也不行

论坛徽章:
0
2 [报告]
发表于 2011-07-19 18:57 |只看该作者
{:3_183:} 。。。哥们来错地方了吧。
select * from mylist where id in (1,2,6,3,6,9,5,8

论坛徽章:
0
3 [报告]
发表于 2011-07-19 20:45 |只看该作者
没有来错,是Perl DBI...
use DBI;
.............略
经过测试,下面代码成功了:

SELECT * FROM `mylist` WHERE ((`id` ='1) or (`id`=2).............));

但是,新问题来了,每个`id` ='xxx' 有多行匹配结果,只想让每个id各自单独一行,然后和在一起怎么弄

总之一行sql 搞定,不想循环多次查询,怕耗费链接

论坛徽章:
0
4 [报告]
发表于 2011-07-19 20:55 |只看该作者
SELECT *
FROM `posts`
WHERE ((`f_id`=1 LIMIT 0 , 1) OR (`f_id`=2  LIMIT 0 , 1) OR (`f_id`=3  LIMIT 0 , 1) OR (`f_id`=4  LIMIT 0 , 1) OR (`f_id`=5  LIMIT 0 , 1) OR (`f_id`=6  LIMIT 0 , 1))

又是错误的语句
报错
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0 , 1) OR (`f_id`=2 LIMIT 0 , 1) OR (`f_id`=3 LIMIT 0 , 1) OR (`f_id`=4 ' at line 3

论坛徽章:
0
5 [报告]
发表于 2011-07-19 22:16 |只看该作者
回复 4# newstudent2011

语句:
SELECT *
FROM `posts`
WHERE `f_id`
IN ( 1, 2, 3 )

查询结束,返回n条记录:
f_id =1 的结果有n多
f_id =2 的结果也有n多
f_id =3 的结果也有n多

这不是我想要的

我想要的结果只有三条:

f_id =1 的结果,只取最后第一条
f_id =2 的结果,只取最后第一条
f_id =3 的结果,只取最后第一条

还有个字段id 可以用来排序,
如何写这些 "order by id desc  limit" 才能输出我想要的结果?

论坛徽章:
0
6 [报告]
发表于 2011-07-20 09:33 |只看该作者
回复 5# newstudent2011


    用group by f_id试试,想要最后一个先用id排下序

论坛徽章:
0
7 [报告]
发表于 2011-07-20 11:10 |只看该作者
回复  newstudent2011


    用group by f_id试试,想要最后一个先用id排下序
bernana 发表于 2011-07-20 09:33



    SELECT *
FROM `posts`
WHERE `f_id`
IN ( 1, 2, 3 ) GROUP BY f_id ORDER BY id DESC

试过了,出来三条结果

但有个问题ORDER BY id DESC这个语句似乎没起作用,

无论加DESC还是 默认,取出来的三条数据,都不是最后一条,而是最早的一条(取出结果是id号最小,我想要最大的)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP