Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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_Mysql_Database_Relationship - Fatal编程技术网

Mysql查询中如何选择随机ID

Mysql查询中如何选择随机ID,mysql,database,relationship,Mysql,Database,Relationship,如何随机选择e.entry?e、 条目是一个整数。您可以使用此解决方案- SELECT e.ent_seq, GROUP_CONCAT(DISTINCT kei.keb SEPARATOR'; ')AS kebs, GROUP_CONCAT(DISTINCT rei.reb SEPARATOR '; ') AS rebs, GROUP_CONCAT(DISTINCT sei.mean SEPARATOR '; ') AS means, FROM

如何随机选择e.entry?e、 条目是一个整数。

您可以使用此解决方案-

SELECT e.ent_seq, 
        GROUP_CONCAT(DISTINCT kei.keb SEPARATOR'; ')AS kebs, 
        GROUP_CONCAT(DISTINCT rei.reb SEPARATOR '; ') AS rebs,
        GROUP_CONCAT(DISTINCT sei.mean SEPARATOR '; ') AS means,
FROM entry e
    LEFT JOIN k_ele kei ON e.entry = kei.entry
    LEFT JOIN r_ele rei ON e.entry = rei.entry
    LEFT JOIN sense se ON e.entry = se.entry 
    LEFT JOIN s_gloss_eng sei ON se.SID = sei.SID
WHERE mn_null = 1
GROUP BY e.entry

如果
mn\u null
entry
表中的一个字段,则将条件
中mn\u null=1
添加到
e
表别名。

如果table
entry
为big,则速度会非常慢是的,此解决方案对于大型表来说速度较慢,但很容易理解。还有其他的解决方案,所有这些解决方案都可以以相同的方式应用于此查询。。。
SELECT e.ent_seq, 
        GROUP_CONCAT(DISTINCT kei.keb SEPARATOR'; ')AS kebs, 
        GROUP_CONCAT(DISTINCT rei.reb SEPARATOR '; ') AS rebs,
        GROUP_CONCAT(DISTINCT sei.mean SEPARATOR '; ') AS means,
FROM (SELECT * FROM entry ORDER BY RAND() LIMIT 1) e
    LEFT JOIN k_ele kei ON e.entry = kei.entry
    LEFT JOIN r_ele rei ON e.entry = rei.entry
    LEFT JOIN sense se ON e.entry = se.entry 
    LEFT JOIN s_gloss_eng sei ON se.SID = sei.SID
WHERE mn_null = 1
GROUP BY e.entry
 SELECT e.ent_seq, 
    GROUP_CONCAT(DISTINCT kei.keb SEPARATOR'; ')AS kebs, 
    GROUP_CONCAT(DISTINCT rei.reb SEPARATOR '; ') AS rebs,
    GROUP_CONCAT(DISTINCT sei.mean SEPARATOR '; ') AS means

FROM entry e

LEFT JOIN k_ele kei ON e.entry = kei.entry
LEFT JOIN r_ele rei ON e.entry = rei.entry
LEFT JOIN sense se ON e.entry = se.entry 
LEFT JOIN s_gloss_eng sei ON se.SID = sei.SID

WHERE e.ent_seq IN (SELECT jt5.jlpt5_seq FROM jlptn5 jt5
                   WHERE jt5.jlpt5_null = 0
                   ORDER BY RAND())
GROUP BY e.entry    
ORDER BY RAND()
LIMIT 20