Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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
Php mysql也与其他事物不同_Php_Mysql - Fatal编程技术网

Php mysql也与其他事物不同

Php mysql也与其他事物不同,php,mysql,Php,Mysql,这应该很简单,但我无法使用搜索找到正确的语法 我有: 从表1中选择不同的名称,id,其中长度不同的名称: SELECT DISTINCT name FROM table1 WHERE length < 6 不同的名称及其所有ID: SELECT name, GROUP_CONCAT(id) FROM table1 WHERE length < 6 GROUP BY name 不同名称和最低id: SELECT name, MIN(id) ---

这应该很简单,但我无法使用搜索找到正确的语法

我有:

从表1中选择不同的名称,id,其中长度不同的名称:

SELECT DISTINCT name 
FROM table1 
WHERE length < 6
不同的名称及其所有ID:

SELECT name, GROUP_CONCAT(id) 
FROM table1 
WHERE length < 6
GROUP BY name
不同名称和最低id:

SELECT name, MIN(id)              --- or MAX(id) for the highest id
FROM table1 
WHERE length < 6
GROUP BY name
不同的名称和或多或少的随机id这只适用于MySQL,不适用于其他DBMS:

SELECT name, id            
FROM table1 
WHERE length < 6
GROUP BY name
不同名称:

SELECT DISTINCT name 
FROM table1 
WHERE length < 6
不同的名称及其所有ID:

SELECT name, GROUP_CONCAT(id) 
FROM table1 
WHERE length < 6
GROUP BY name
不同名称和最低id:

SELECT name, MIN(id)              --- or MAX(id) for the highest id
FROM table1 
WHERE length < 6
GROUP BY name
不同的名称和或多或少的随机id这只适用于MySQL,不适用于其他DBMS:

SELECT name, id            
FROM table1 
WHERE length < 6
GROUP BY name

从表1中选择id、名称作为t0 join 从表1中选择不同的名称作为t1
在t0.name=t1.name

从表1中选择id、名称作为t0 join 从表1中选择不同的名称作为t1 在t0.name=t1.name

也许你是说

where length(name) < 6
也许你是说

where length(name) < 6

所以听起来您需要不同的名称和任何关联的id。distinct将返回不同的行作为所选列的组合,因为id是自动递增的,这意味着所有行。而是使用聚合

此查询将返回名称及其第一个自动递增id:


所以听起来您需要不同的名称和任何关联的id。distinct将返回不同的行作为所选列的组合,因为id是自动递增的,这意味着所有行。而是使用聚合

此查询将返回名称及其第一个自动递增id:


但是我仍然希望返回每个不同名称对应的id列值……那么,如果一个名称有多个id呢?应该选哪一个?啊,我明白了…好问题。现在我明白为什么mysql不喜欢它了。我猜这个名字的第一个实例的id是什么?迈克尔有它,正如这篇文章的第三个答案一样。虽然我喜欢这篇文章后面的所有原因,所以这里是+1,但我仍然希望返回每个不同名称的id列值……那么,如果一个名称有多个id呢?应该选哪一个?啊,我明白了…好问题。现在我明白为什么mysql不喜欢它了。我猜这个名字的第一个实例的id是什么?迈克尔有它,正如这篇文章的第三个答案一样。虽然我喜欢这篇文章背后的所有原因,所以这里是+1,但对于长度<6的限定符,你有什么期待。。。名称的长度,是表中的另一列,还是仅6个不同的名称,如果您的ID=1,名称为“john smith”,而ID=7,名称为“john smith”,则您希望与john smith见面一次。。。您介意退回什么身份证吗?让我们更准确地说。。。因此,如果使用上述内容,则返回以下内容是可以接受的:7 john smith。即使还有一个约翰smith@drapp-这是另一个专栏。@xQbert-该名称在表中出现的第一个id…然后ypercube的第三个或Michael的响应应该适合您。对于长度<6的限定符,您期望得到什么。。。名称的长度,是表中的另一列,还是仅6个不同的名称,如果您的ID=1,名称为“john smith”,而ID=7,名称为“john smith”,则您希望与john smith见面一次。。。您介意退回什么身份证吗?让我们更准确地说。。。因此,如果使用上述内容,则返回以下内容是可以接受的:7 john smith。即使还有一个约翰smith@drapp-这是另一个专栏。@xQbert-该名称在表中出现的第一个id…那么ypercube的第三个或Michael的回答应该适合您。@xQbert:OP注释:这是另一列…@ypercube在我发布时不是。但我修复了它,因为它是在5分钟内:D@xQbert:OP评论:这是另一个专栏…@ypercube在我发布的时候不是这样的。但我修复了它,因为它是在5分钟内:D