Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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中使用GROUPBY生成标志_Php_Mysql - Fatal编程技术网

Php 如果表中有多个重复行,则在mysql中使用GROUPBY生成标志

Php 如果表中有多个重复行,则在mysql中使用GROUPBY生成标志,php,mysql,Php,Mysql,我有下面的mysql表 ID ref 1 AOO 2 BGH 3 AOO 我的问题是 $getdup = "select * from coderef group by ref" 现在我明白了 ID ref 1 AOO 2 BGH 如果有多个项目,是否可以在ref旁边创建另一列,例如“备注”并注明“查看更多” ID ref notes 1 AOO view more 2 BGH 非常感谢您的帮助。您可以使

我有下面的mysql表

ID     ref
1      AOO
2      BGH
3      AOO
我的问题是

$getdup = "select * from coderef group by ref"
现在我明白了

ID   ref
1    AOO
2    BGH
如果有多个项目,是否可以在ref旁边创建另一列,例如“备注”并注明“查看更多”

ID   ref   notes
1    AOO   view more
2    BGH   
非常感谢您的帮助。

您可以使用CASE表达式检查每个参考代码的计数,如果有多个代码,则显示“查看更多”。请注意,我在查询中省略了ID,因为不清楚要显示哪个ID

SELECT
    ref,
    CASE WHEN COUNT(*) > 1 THEN 'view more' END AS notes
    -- MIN(ID) AS ID       you could include this
FROM coderef
GROUP BY ref

按引用从coderef组中选择*无效SQL。只有出现在GROUP BY子句中的列才能出现在SELECT子句中,除非它们用作示例sql而不是最终sql的参数。我想知道case/if表达式的用法。没问题,请记住,MySQL 5.7.5及更新版本和旧版本拒绝查询select*from coderef group by ref。其他RDBMS只是拒绝它,因为它是无效的SQL。非常感谢Tim。”当COUNT*>1时,则“查看更多”结束为“注释”效果很好。