Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择多个ID为的行的SQL查询_Mysql - Fatal编程技术网

Mysql 选择多个ID为的行的SQL查询

Mysql 选择多个ID为的行的SQL查询,mysql,Mysql,我需要从表中选择所有行,请参见下面的结构,但这更复杂 我想要5个唯一的idm,但所有行都有这个idm,它是对话的ID。。我怎么做 +------------+ | messagerie | +------------+ | ID | | idm | | send | | receipt | | subject | | message | +------------+ 为唯一性选择不同的IDM,并使用LIMIT关键字仅选择5。 使用内

我需要从表中选择所有行,请参见下面的结构,但这更复杂

我想要5个唯一的idm,但所有行都有这个idm,它是对话的ID。。我怎么做

+------------+
| messagerie |
+------------+
|     ID     |
|    idm     |
|    send    | 
|   receipt  |
|   subject  |
|  message   |
+------------+
为唯一性选择不同的IDM,并使用LIMIT关键字仅选择5。 使用内部联接子句选择具有此idm的所有行。 下面的查询将始终随机为您提供5个唯一的IDM。 SQL:


idm在哪里?我没有任何特定的idm,我需要来自特定收据的最后5个idm,这是一个用户的id。。我的主题不够清楚..显示一个您尝试过的基本SQL查询,这样我们就可以尝试重构并帮助您获得工作查询您能够获得那些idm吗?我尝试了从messagerie中选择*从messagerie中选择idm,其中recept=0=messagerie.idm,但这会返回多行,并且不起作用..听起来很完美。。除了我在一个奇怪的SQL server上工作,它告诉我:1235-这个版本的MySQL还不支持“LIMIT&IN/ALL/ANY/SOME subquery”@GPerdigal你使用的是哪个版本的MySQL?此外,我还修复了从WHERE到内部联接的查询,因为它以前一直可以生成新的5行。@GPerdigal看起来您也可以在这里使用WHERE子句作为执行顺序,但最好是安全的。@GPerdigal我建议您最好升级到MariaDB,因为随着应用程序的扩展,您将要执行更复杂的操作,并且您不希望出现手头任务所必需的不受支持的关键字错误。@GPerdigal将提供帮助。
select *
from messagerie m1
inner join (select distinct idm
              from messagerie
              order by rand() LIMIT 5) m2
on m1.idm = m2.idm;